gpt4 book ai didi

Java - 无法解析的日期,需要格式匹配 "GMT-0400"

转载 作者:行者123 更新时间:2023-11-30 06:31:48 25 4
gpt4 key购买 nike

我有以下 Java:

DateFormat formatter = new SimpleDateFormat(
"EEE MMM dd yyyy HH:mm:ss zZ (zzzz)", Locale.ENGLISH);
Calendar cal = Calendar.getInstance();
cal.set(2011, Calendar.APRIL, 1);
out.println(formatter.format(cal.getTime()));
out.println();

Date date;
try {
date = formatter
.parse("Fri Apr 01 2011 00:00:00 GMT-0400 (Eastern Daylight Time)");
} catch (ParseException e) {
out.println("Failed to parse date: " + e.getMessage());
e.printStackTrace(out);
}

这是在一个 servlet 中,Calendar 构造的日期显示为:

Fri Apr 01 2011 16:42:24 EDT-0400 (Eastern Daylight Time)

除了 EDT-0400 与所需的 GMT-0400 之外,这看起来与我尝试解析的日期字符串的格式相同。尝试解析日期字符串时代码失败:

java.text.ParseException: Unparseable date: "Fri Apr 01 2011 00:00:00 GMT-0400 (Eastern Daylight Time)"

如何解析这样的字符串?这来自 Sencha Touch 1.1.1 模型中的 JavaScript 日期,存储在 WebSQL 本地存储中。

最佳答案

出于某种原因,GMT-0400 不工作,而 UTC-0400 工作。您可以将 GMT 替换为 UTC。

请注意,这部分将被完全忽略 - 时区将根据括号中的内容进行解析(至少在我的机器上,JDK 6)

关于Java - 无法解析的日期,需要格式匹配 "GMT-0400",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490373/

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