日期构造函数抛出异常

时间:2016-05-15 08:50:24

标签: java

Date date = new Date(String);  

这个构造函数给了我Exception

字符串为"Wed May 18 02:00:00 AKDT 2016"

1 个答案:

答案 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");

请注意,年份应该在时间之前。