2

这是代码:

LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(1451438792953L), ZoneId.of("UTC"));
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("YYYY-MM-dd'T'HH:mm:ss.SSS'Z'");
String output = dateTimeFormatter.format(localDateTime);

这是 的值localDateTime

2015-12-30T01:26:32.953

这是 的值output

2016-12-30T01:26:32.953Z

为什么要加一年?

java.time.temporal.WeekFields几种方法有时会newYearWeek增加年份1。为什么?

这是一个奇怪的错误。

4

1 回答 1

8

来自维基百科

[YYYY] 表示 ISO 周编号年份,与传统的公历年份略有不同(见下文)。

  1. YYYY是年度的 ISO-8601 样式表示。
  2. yyyy是公历年份的表示。

由于两者的计算可以相差+1或-1,因此格式化。更多有用信息位于YEAR_OF_ERAYEARweekBasedYear

于 2015-12-30T02:13:32.553 回答