Date date = new Date(String);
这个构造函数给了我Exception
:
字符串为"Wed May 18 02:00:00 AKDT 2016"
。
答案 0 :(得分:1)
new Date(String)
,您应该使用DateFormat.parse(String)
。
为什么你的字符串失败,这是因为时区(AKDT)无法识别。
以下摘录自javadoc:
它接受许多语法;特别是,它承认IETF标准日期语法:"星期六,1995年8月12日13:30:00 GMT"。它也理解美国大陆的时区缩写,但是对于一般用途,应该使用时区偏移:"星期六,1995年8月12日13:30:00 GMT + 0430" (格林威治子午线以西4小时30分钟)。
更具体地说:
它也理解美国大陆时区的缩写,但是对于一般用途,应该使用时区偏移
因此,如果您坚持使用new Date(String)
,则应使用:
new Date("Wed, May 18 2016 02:00:00 GMT-0800 2016");
请注意,年份应该在时间之前。