Je n'arrive pas à voir le problème avec l'exemple de code ci-dessous. Pour une raison quelconque semble ignorer l'année et dire que les dates sont les mêmes, comme on peut le voir dans la sortie ci-dessous. Je dois manquer quelque chose de simple.Problème de conversion de chaîne java en datetime
01/28/2006
01/16/2007
Mar 1 avril 2008 00:00:00 PDT
Mar 1 avril 2008 00:00:00 PDT
fait
import java.util.*;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
class ExampleProgram {
public static void main(String[] args){
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String d1String = "01/28/2006";
String d2String = "01/16/2007";
System.out.println(d1String);
System.out.println(d2String);
Date d1=null;
try {
d1 = df.parse(d1String);
} catch (ParseException e) {
System.out.println(e.getMessage());
}
Date d2=null;
try {
d2 = df.parse(d2String);
} catch (ParseException e) {
System.out.println(e.getMessage());
}
System.out.println(d1);
System.out.println(d2);
System.out.println("done");
}
}
Un poisson d'avril blague? Il semble juste très artificiel que les dates correspondent tous les deux au 1er avril. + 1 an, -12 mois == même date. Si votre objet dateformat est strict (df.setLenient (false)), l'erreur est générée pour vous. – evnafets