ove*_*nd1 0 java zoneddatetime datetimeformatter
运行到ZonedDateTime格式化的问题。它将 2020 年 12 月的结束日期格式化为 2021 年的日期。Java 片段
ZonedDateTime z1 = ZonedDateTime.of(LocalDateTime.of(2020, 12, 31, 0, 0), ZoneId.of("America/New_York"));
z1.format(DateTimeFormatter.ofPattern("YYYY-MM-dd"))
// yields "2021-12-31"
Run Code Online (Sandbox Code Playgroud)
12 月 28 日、29 日、30 日也是如此。不同时区的结果相同。重复 2019 年 12 月 30 日(格式为 2020-12-30)。
原始 Clojure 片段
(let [zdt (ZonedDateTime/of (LocalDateTime/of 2020 12 31 0 0) (ZoneId/of "America/New_York"))
f (DateTimeFormatter/ofPattern "YYYY-MM-dd")]
(.format zdt f))
; => "2021-12-31"
Run Code Online (Sandbox Code Playgroud)
我能够重现:
将模式字符串更改为yyyy-MM-dd. 请参阅的javadoc类DateTimeFormatter明白之间的差别YYYY和yyyy。
ZonedDateTime z1 = ZonedDateTime.of(LocalDateTime.of(2020, 12, 31, 0, 0), ZoneId.of("America/New_York"));
System.out.println(z1.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
Run Code Online (Sandbox Code Playgroud)
结果:
2020-12-31
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |