gpt4 book ai didi

java - 将服务器上的 UTC 日期转换为本地时间

转载 作者:行者123 更新时间:2023-12-01 21:28:15 25 4
gpt4 key购买 nike

我从服务器获取此字符串作为日期

2016-06-11T11:14:57.000Z

由于是 UTC,我想转换为本地时间。

SimpleDateFormat mFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat endFormat = new SimpleDateFormat("hh:mm a");
mFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:00"));
Date date = mFormat.parse(mBooking.startTime);

但是日期转换为 2:00AM

现在我不明白为什么 11am 会转换为 2:00AM

我做错了什么?

最佳答案

因为您没有为每个 SimpleDateFormat 正确设置时区,所以 mFormat 应该设置为 UTCendFormatGMT + 5,这是您应该做的:

SimpleDateFormat mFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
// Set UTC to my original date format as it is my input TimeZone
mFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = mFormat.parse("2016-06-11T11:14:57.000Z");
SimpleDateFormat endFormat = new SimpleDateFormat("hh:mm a");
// Set GMT + 5 to my target date format as it is my output TimeZone
endFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:00"));

System.out.println(endFormat.format(date));

输出:

04:14 PM

关于java - 将服务器上的 UTC 日期转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37763108/

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