我有以下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
-构建日期如下:
2011 年 4 月 1 日星期五 16:42:24 EDT-0400(东部夏令时间)
这看起来与我尝试解析的日期字符串的格式相同,除了EDT-0400
与期望的GMT-0400
。尝试解析日期字符串时代码失败:
java.text.ParseException:无法解析的日期:“2011 年 4 月 1 日星期五 00:00:00 GMT-0400(东部夏令时间)”
我怎样才能解析这样的字符串?这是来自 Sencha Touch 1.1.1 模型中的 JavaScript 日期,存储在 WebSQL 本地存储中。
由于某种原因,GMT-0400 不工作,而 UTC-0400 正在工作。您可以将 GMT 替换为 UTC。
请注意,这部分将被完全忽略 - 时区将从括号中找到的内容解析(至少在我的机器上,JDK 6)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)