2012-09-14 34 views
0

我試圖解析字符串爲日期,但由於某些原因,我總是一個月出來爲1 ... 這裏有一個失敗的測試告訴你什麼是我的意思是:Jodatime - 爲什麼我的dateTimeFormatter parseLocalDate總是給我1個月?

@Test 
public void shouldConvertStringToDate() { 
    String date1 = "2012-06-28 23:01:54"; 
    DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("YYYY-MM-DD HH:mm:ss"); 
    LocalDate date = dateTimeFormatter.parseLocalDate(date1); 
    Assert.assertEquals(2012, date.getYear()); 
    Assert.assertEquals(6, date.getMonthOfYear()); //actual is 1... ??? 
    Assert.assertEquals(28, date.getDayOfMonth()); 
} 

任何想法是什麼繼續?

謝謝!

回答

2

天應該用小寫字母dd而不是DD
D - 日年
d的 - 個月
的日子,所以你格式化應該是

DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss"); 
+0

乾杯!!伊利亞我一直在尋找這個月的錯誤....非常感謝! –