gpt4 book ai didi

java - 一年中最后一天的时间转换错误

转载 作者:行者123 更新时间:2023-12-01 19:45:54 26 4
gpt4 key购买 nike

下面的代码片段打印了错误的年份。我在这里做错了什么吗?它将日期时间打印为 2018-12-31 00:00:00但它确实应该是 2017-12-31 00:00:00 。我在 JavaScript 中转换了相同的纪元,它工作得很好。我还将时区设置为 UTC结果为 2017-12-30 18:30:00但将时区设置为 Asia/Calcutta将其增加一年。我在这里缺少什么?

import java.time.*;
import java.time.format.*;
public class MyClass {
public static void main(String args[]) {
DateTimeFormatter format = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss");

String time = LocalDateTime.ofInstant(Instant.ofEpochMilli(1514658600000L), ZoneId.of("Asia/Calcutta")).format(format);

System.out.println(time);
}
}

最佳答案

您需要使用“yyyy”而不是“YYYY”:

DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

来自文档:

Symbol  Meaning                     Presentation      Examples
y year-of-era year 2004; 04
Y week-based-year year 1996; 96

关于java - 一年中最后一天的时间转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53358623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com