2012-09-14 127 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

干杯!!伊利亚我一直在寻找这个月的错误....非常感谢! –