gpt4 book ai didi

Java 时区 - IST 的奇怪行为?

转载 作者:搜寻专家 更新时间:2023-11-01 04:00:44 27 4
gpt4 key购买 nike

我有以下代码:

DateFormat df = new SimpleDateFormat("M/d/yy h:mm a z");
df.setLenient(false);
System.out.println(df.parse("6/29/2012 5:15 PM IST"));

假设我现在将我的 PC 的时区设置为太平洋时间(PDT 为 UTC-7),这将打印

Fri Jun 29 08:15:00 PDT 2012

PDT 不是比 IST(印度标准时间)晚 12.5 小时吗?任何其他时区都不会出现此问题 - 我在日期字符串中尝试了 UTC、PKT、MMT 等而不是 IST。 Java 中是否有两个 IST?

P.S:实际代码中的日期字符串来自外部源,因此我不能使用 GMT 偏移量或任何其他时区格式。

最佳答案

时区的缩写名称不明确,并且已弃用时区的 Olson 名称。以下内容始终如一,因为 parse() 和 getTimezone() 的行为方式可能有所不同。

SimpleDateFormat sdf = new SimpleDateFormat("M/d/yy h:mm a Z");
TimeZone istTimeZone = TimeZone.getTimeZone("Asia/Kolkata");
Date d = new Date();
sdf.setTimeZone(istTimeZone);
String strtime = sdf.format(d);

关于Java 时区 - IST 的奇怪行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264697/

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