Date.parse() 的字符串格式

使用 JavaScript 中的 Date 构造函数创建一个日期对象,有以下几种方法:

 new Date();
 new Date(value);
 new Date(dateString);
 new Date(year, month [, day, hour, minute, second, millisecond]);

如果不传入参数,使用的是当前时间;如果想要使用一个特定的日期,需要传入从 1970 年 1 月 1 日起经过的毫秒数,或传入一个日期字符串,或者是详细的年月日。最后一种方法,使用的参数类型与 Date.UTC() 相同,注意年和月是必须的,月份是基于 0 的。

如果传入一个日期字符串,后台会调用 Date.parse() 进行解析,主要支持这些字符串格式:

  • 短日期,遵循月/日/年顺序,分隔符可用 - 或 /。如 "11/03/2013" 或者 "11-03-2013"
  • 长日期:年月日按任何顺序排列,用 , 或空格分隔。如 "November 3, 2013" 或者 "2013 November 3"。月份可以简写,如 "Nov 3 2013"
  • 以上日期后面可以加上时间,格式 hh:mm:ss,如 "11/03/2013 10:30" 或者 "Nov 3, 2013 10:30:24"
  • ISO 日期格式,格式为 YYYY-MM-DDTHH:mm:ss.sssZ。其中的 T 为分隔,前面表示日期后面表示时间。日期中的年份是必需的,如 YYYYYYYY-MMYYYY-MM-DD。后面 sss 是毫秒数,从 00 到 999,Z 表示 UTC 时间。如果指定了时间,其中的秒和毫秒可以省略。Z 也是可以省略的。一些合法的字符串格式:"2013""2013-11-03""2013-11T10:30""2013-11-03T10:30:02.666Z"

最后一种格式是 ECMAScript 5 中定义的,所以 IE 6-8 中无法使用。

参考文章:

flight