2012-05-02 5 views
18

Mam ciąg znaków Data. Muszę zmienić go na Data Sql. więc użyłem następującego kodu.Konwersja daty z String na sql Data w Javie podająca różne wyniki?

String startDate="01-02-2013"; 
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-mm-yyyy"); 
java.util.Date date = sdf1.parse(startDate); 
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime()); 

kiedy użyłem powyższego kodu i uruchomiłem go. Mam następujące wyniki.

2013-01-01. 

Tutaj Miesiąc nie jest konwertowany poprawnie.
Proszę mi powiedzieć, gdzie jest problem i podać przykładowy kod, aby uzyskać poprawny wynik?

Odpowiedz

36

mm jest minut. Chcesz MM dla miesięcy:

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); 

Nie czuję się źle - dokładnie ten błąd pojawia się dużo.

+0

Oho .. Dzięki Bohemain. –

+0

dziękuję bardzo –

4

Jest to prosty sposób konwertowania ciąg na datę util i SQL daty

String startDate="12-31-2014"; 
SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy"); 
java.util.Date date = sdf1.parse(startDate); 
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime()); 
+2

Jakiś komentarz na temat kodu byłby przydatny. – sandrstar