2010-11-29 3 views
0

Soit il me manque quelque chose de complètement évident ou de faire des suppositions injustifiées sur le comportement de SimpleDateFormat.Comportement incohérent dans java date formter

Je suppose que cela devrait être symétrique, n'est-ce pas? Si j'ai

SimpleDateFormatter formatter; 
String datestr=... 
Date d = formatter.parse(datestr); 
String s=formatter.format(d); 

Je devrais récupérer ma chaîne originale. Cependant -

public static final String DATE_FORMAT = "E MMM dd HH:mm:dd zz yyyy"; 
String test = "Mon Nov 29 09:53:24 EST 2010"; 
long l = new SimpleDateFormat(DATE_FORMAT).parse(test).getTime(); 
System.out.println(test); 
System.out.println(new SimpleDateFormat(DATE_FORMAT).format(new Date(l))); 

imprime:

Mon 29 novembre 09:53:24 EST 2010

Mer 24 novembre 2010 09:53:24 EST

Comment suis-je perdre 5 jours ?

Répondre

6
 
"E MMM dd HH:mm:dd zz yyyy"; 
     ^^  ^^ 
+0

deviner que c'était la catégorie "évidente" err. Merci. –

+0

+1 celui-ci était difficile à voir – stacker

+0

Ouais, je suis bien pour déboguer ce genre de choses. 5 jours est une période aléatoire (pas liée à un fuseau horaire ou autre). Donc, j'ai juste cherché 24 ailleurs dans la chaîne analysée = P – Falmarri

Questions connexes