请参阅以下测试代码(java 11):
public static final String DATE_FORMAT_TIMESTAMP = "YYYY-MM-dd'T'HH:mm:ss'Z'";
...
var timestamp = OffsetDateTime.now();
System.out.println(timestamp);
var formatter = DateTimeFormatter.ofPattern(DATE_FORMAT_TIMESTAMP);
var zt = timestamp.format(formatter);
System.out.println(zt);
...
输出:enter code here
2020-12-27T23:34:34.886272600+02:00
2021-12-27T23:34:34Z
注意格式化的时间年份是2021。它只发生在 27/12,可能到 31/12。
谁可以给我解释一下这个?以及如何修复代码以获得正确的格式化字符串?