Problème de conversion de java.util.Date Object to a java.sql.Date Object
Bonjour,
J'ai une date de type java.util.date et je veux la convertir en java.sql.date.
Voici mon code :
Code:
1 2 3 4
| java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate); |
Pour ça ma console affiche bien la date :
Code:
1 2
| utilDate:Thu Dec 01 17:46:22 WET 2011
sqlDate:2011-12-01 |
Mais par exemple si je teste ça (la date est saisie à partir des champs de type JTextField)
Code:
1 2 3 4
| java.util.Date utilDate = new java.util.Date(2013,10,05);
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate); |
Dans ce cas ma sqlDate doit être 2013-10-05, mais malheureusement mon console affiche:
Code:
1 2
| utilDate:Wed Nov 05 00:00:00 WET 3913
sqlDate:3913-11-05 |
au lieu de 2013 j'ai 3913.
La même chose si j'essaie par exemple
Code:
1 2 3 4
| java.util.Date utilDate = new java.util.Date(2006,06,06);
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate); |
ma console affiche
Code:
1 2
| utilDate:Fri Jul 06 00:00:00 WET 3906
sqlDate:3906-07-06 |
ici j'ai un problème de mois aussi : au lieu d'avoir 2006-06-06 j'ai 3906-07-06.
SVP quelqu'un a une idée pourquoi? sinon y'a une autre méthode pour convertir une java.util.date en java.sql.date ou bien construire une java.sql.date à partir des champs (int annee, int mois, int jour) directement? car j'ai essayé aussi le constructeur
Code:
1 2
| java.sql.Date sqlDate2 = new Date(2007, 06, 06);
System.out.println("sqlDatefromconstructeur:" + sqlDate2); |
mais ça donne
Code:
sqlDatefromconstructeur:3907-07-06
Merci d'avance.