Salut,
J'ai une date au format
39987.46944
Quand je la colle dans OpenOffice Calc et que je formatte la cellule en date, j'arrive à obtenir
23.06.2009 11:16:00
ce qui est correct.
Comment faire la même chose en java ?
Merci d'avance
Salut,
J'ai une date au format
39987.46944
Quand je la colle dans OpenOffice Calc et que je formatte la cellule en date, j'arrive à obtenir
23.06.2009 11:16:00
ce qui est correct.
Comment faire la même chose en java ?
Merci d'avance
hello,
ba là c'est pas vraiment une question de Java, la question c'est plutôt d'où tu copies la date ? c'est quoi ce format ?![]()
A vérifier en recalculant, mais c'est tout simplement la représentation numérique classique d'une Date, la forme sous laquelle elle est stockée et avec laquelle tout système travaille.c'est quoi ce format ?
Il s'agit normalement du nombre de jour depuis la date 0, la date 0 étant codifiée comme étant le 30/12/1899 00:00:00
Sauf que "tout système" travaille habituellement en nombre de millisecondes secondes depuis epoch.
A tenter:
Edit: en calculant à la mano la partie h mm ss, il semble que ce soit ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 new Date(chiffre*24*60*60*1000)![]()
Je n'ai pas dit le contraire, la partie décimale du nombre correspond aux heures, minutes, secondes, millisecondes si nécessaireSauf que "tout système" travaille habituellement en nombre de millisecondes secondes.
je voulais juste dire que d'habitude on stocke ca dans un long, pas dans un float![]()
ce code (c'est celui de tchize_ avec GMT comme TimeZone) :
a l'air de fonctionner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SimpleDateFormat sdf = new SimpleDateFormat("dd MM yyyy HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); Date d = sdf.parse("30 12 1899 00:00:00"); System.out.println(sdf.format(d)); String tmpDate = "39987.46944"; System.out.println( sdf.format(new Date( d.getTime()+(long)(new Float(tmpDate)*24*60*60*1000) )));
Evidemment, c'est jamais stocké sous forme de long avec le 01/01/1970 comme date de base...
Partager