JavaScript Date构造函数根据零填充创建不同的日期?

时间:2014-05-12 12:37:02

标签: javascript date

在Chrome 34.0.1847.131中,当我打开控制台并输入以下内容时:

new Date('2014-05-14');

我得到以下内容:

  

2014年5月13日星期二20:00:00 GMT-0400(美国东部时间)

new Date('2014-05-14')

咦?这是提前一天!如果我从05删除0-padding怎么办?

new Date('2014-5-14');
  

2014年5月14日星期三00:00:00 GMT-0400(美国东部时间)

new Date('2014-5-14')

我疯了吗?这是怎么回事?

伙计,现在为时尚早......

1 个答案:

答案 0 :(得分:1)

这里的答案当然是时区。正如Frédéric Hamidi所指出的那样:

  

Tue May 13 2014 20:00:00 GMT-0400 Tue May 14 2014 00:00:00 GMT

传递给Date构造函数的第二个字符串对于RFC2822和ISO 8601无效。