我正在尝试将字符串解析为日期,但出于某种原因,我的月份总是以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());
}
知道发生了什么事吗?
谢谢!
答案 0 :(得分:2)
天数应为小写dd
而不是DD
D
- 一年中的某一天
d
- 每月的日期
所以你的格式化程序应该是
DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss");