gpt4 book ai didi

java - 如何将 UTC 时间转换为其他时区 ("CST","IST")

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:01 27 4
gpt4 key购买 nike

在我的 Android 应用程序服务器中将返回一些 UTC 日期,格式如下(yyyy-MM-dd HH:mm:ss) 24 小时,我需要转换这些时间进入用户的时区,例如 CSTIST

我做了以下代码,但我知道它是否正确,请帮助我以正确的方式进行时区转换。

我将 UTC 日期作为 json 字符串并转换为用户的时区格式并显示 Android 端

private static Date utcDate;
private static DateFormat expireFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");

try {
expireFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
utcDate = expireFormat.parse("2014-04-01 10:32:00");
System.out.println(TimeZone.getDefault().getID());
expireFormat.setTimeZone(TimeZone.getTimeZone(TimeZone.getDefault().getID()));
System.out.println(expireFormat.format(utcDate));
} catch (ParseException e) {
e.printStackTrace();
}

output of the code:
Asia/Calcutta
2014-04-01 16:02:00

最佳答案

如果重新格式化的字符串确实是您想要得到的,那么总体方法是可行的。

虽然有一些问题

  1. SimpleDateFormat 不是线程安全类。将其设置为服务器内的静态字段是个问题!

  2. 与关于使用静态字段保存中间 Date 对象的 #1 相同。

  3. “CST”是中国标准时间吗?中部标准时间(美国或澳大利亚)?古巴标准时间?三个字母的缩写 TimeZone 通常是个坏消息。如果可能,尽量使用 Olson 姓名或别名。

  4. 这是服务器端还是安卓端?如果它是一个服务器,您可能会受益于用于日期时间处理的新 Java 8 API。

关于java - 如何将 UTC 时间转换为其他时区 ("CST","IST"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22768905/

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