我最近不得不重建一整台计算机,重新安装Java(我已经从8升级到12,但是使用--release 1.8)和IDE,并从源代码管理中提取项目。奇怪的是,单元测试在解析日期时开始失败。
这是显示错误的单元测试:
@Test
public void testTimeParsing() {
try {
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern("h:mm a")
.toFormatter();
String str = "5:00 PM";
LocalTime actual = LocalTime.parse( str, formatter );
LocalTime expected = LocalTime.of(5, 0).with(ChronoField.AMPM_OF_DAY, 1);
assertEquals(expected, actual);
} catch(DateTimeParseException dtpex) {
System.out.println("exception, null ["+dtpex.getMessage()+"]");
// this prints:
// exception, null [Text '5:00 PM' could not be parsed at index 5]
}
}
编辑:默认格式设置为en_AU。我不相信在重建过程中这已经改变。