用LocalTime解析时间

时间:2019-06-28 23:22:48

标签: java localtime datetime-parsing java.time

我最近不得不重建一整台计算机,重新安装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。我不相信在重建过程中这已经改变。

0 个答案:

没有答案