Jodatime - 为什么我的dateTimeFormatter parseLocalDate总是给我1个月?

时间:2012-09-14 08:47:16

标签: jodatime

我正在尝试将字符串解析为日期,但出于某种原因,我的月份总是以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());
}

知道发生了什么事吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

天数应为小写dd而不是DD D - 一年中的某一天 d - 每月的日期
所以你的格式化程序应该是

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