[Date] Convertir un double en date

Résolu
coinki Messages postés 57 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 6 juillet 2009 - 2 juil. 2009 à 17:59
coinki Messages postés 57 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 6 juillet 2009 - 6 juil. 2009 à 16:39
Bonjour,


j'ai des dates issues de Delphi dont le format se présente sous forme d'un nombre à virgule.

Ex : 39933.1669560185 => 30/04/2009  04:00:25


Est-ce quelqu'un sait comment convertir ce nombre en java ?


Merci d'avance.


Alain
A voir également:

3 réponses

coinki Messages postés 57 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 6 juillet 2009
6 juil. 2009 à 16:39
Eric39 m'a finalement donné la réponse

Calendar c = Calendar.getInstance();
c.set(1899, 11, 30, 0, 0);
c.set(Calendar.SECOND, 0);
c.add(Calendar.DATE, 39933);
c.add(Calendar.MILLISECOND, (int)((24 * 3600 * 1000) * 0.1669560185));

Merci eric39!
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 juil. 2009 à 18:46
Salut,

Il faudrait connaître comment est généré ce nombre, parce que là, je vois guère la relation avec une date !

Peut-être poser la question sur le forum de delphi...
0
coinki Messages postés 57 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 6 juillet 2009
6 juil. 2009 à 16:35
Salut
Apparemment la partie à gauche de la virgule, c'est la date.
La partie à droite, c'est l'heure.

Dans excel, si on met la cellule au format date et que l'on tape 1.0 on obtient 01/01/1900  00:00:00
si on met 365.0 => 30/12/1900  00:00:00
39933.1669560185 => 30/04/2009  04:00:25

Donc, la règle pour la date, j'ai la règle mais pour les heures, je sèche !!!
0
Rejoignez-nous