gpt4 book ai didi

Java 1.8 拒绝解析带有美国/阿留申 (HAST) 时区的日期?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:50 25 4
gpt4 key购买 nike

我正在尝试解析美国/阿留申时间戳。这在过去有效,但我无法找出为什么它不再有效。我正在运行 Java 1.8 更新 72。

代码如下:

    try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz");
sdf.setTimeZone(TimeZone.getTimeZone("US/Aleutian"));

// the following line throws an parsing exception
Date d = sdf.parse("1969-12-31T13:00:00HAST");
System.out.println(sdf.format(d));

} catch (Exception e) {
e.printStackTrace();
}

... Date d = sdf.parse("1969-12-31T13:00:00HAST"); 行抛出异常,但我找不到它有什么问题:

java.text.ParseException: Unparseable date: "1969-12-31T13:00:00HAST"
at java.text.DateFormat.parse(Unknown Source)

我确信这在过去有效。我研究了 HAST 时区,它是有效的。我不确定为什么这对我不起作用。

谁能知道这是怎么回事?如果这对您有用,能否请您列出您的 Java 版本,以便我们了解它是否/何时损坏?

谢谢!

最佳答案

找到答案了。

根据 this ,该缩写已在 Java 6 更新 101 中删除:

“根据美国政府打印局的风格,夏威夷-阿留申标准和夏令时的缩写已从 HAST/HADT 更改为 HST/HDT。自 1983 年以来,这仅影响 America/Adak,因为 America/Honolulu 已经在使用新风格。”

所以我将继续使用 HST。

感谢大家的投入!

关于Java 1.8 拒绝解析带有美国/阿留申 (HAST) 时区的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35257836/

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