小编典典

Java LocalDate格式为2000-1-2的错误

java

今天,在新构建的计算机上进行的某些测试失败了,而在其他计算机上的测试就可以了。照顾问题表明

@Test
public void testDateTimeFormater()
{
    String result = LocalDate.of(2000,1,2)
            .format(DateTimeFormatter.ofPattern("YYYY-MM-dd"));
    Assert.assertTrue(result,result.equals("2000-01-02"));
}

‘java.lang.AssertionError:1999-01-02’中的结果

Jave版本不起作用

root@build02:~# java -version 
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

(OS Debian 9,Ubuntu 18.04)

在开发人员机器上,工作Java版本在哪里

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

(作业系统Ubuntu 14.04)

有什么问题?有什么我可以检查的吗?


阅读 142

收藏
2020-09-28

共1个答案

小编典典

您很可能不希望格式为“ YYYY-MM-dd”,而是“ yyyy-MM-dd”。


Y”是基于周的年份,这取决于语言环境。在某些语言环境中,2000年1月2日可能属于基于周的年份1999;在其他语言环境中,2000年1月2日可能属于基于周的年份2000年。

“ y”是年份,即通常用作日历年的年份。

2020-09-28