[Date] Convertir un double en date

[Résolu]
Signaler
Messages postés
57
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
6 juillet 2009
-
Messages postés
57
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
6 juillet 2009
-
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

Messages postés
57
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
6 juillet 2009

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!
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
129
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...
Messages postés
57
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
6 juillet 2009

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 !!!