这是代码:
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
。为什么?
这是一个奇怪的错误。
从维基百科:
[YYYY]表示ISO周编号年份,与传统的公历年份略有不同(请参见下文)。
YYYY
是本年度的ISO-8601样式表示。
yyyy
是公历年份的表示形式。
由于两者的计算可以相差+1或-1,因此格式不同。在更多有用的信息YEAR_OF_ERA
,YEAR
和weekBasedYear
。