构造函数
new Date() new Date(milliseconds) new Date(datestring) new Date(year, month, day, hours, minutes, seconds, ms)
其中有三个很容易理解,这里不赘述。只有new Date(datestring)让人很费解,Date对象到底支持什么样的datestring?
Google了一番,找到如下解释:
datestring
一个字符串,声明了日期,也可以同时声明时间。这个字符串的格式应该是方法Date.parse()能接受的。
Date.parse(date)
参数:date 含有要解析的日期和时间的字符串。
返回值:指定的日期和时间距1970年1月1日午夜(GMT时间)之间的毫秒数
最后在《JavaScript权威指南(第五版)》中找到了答案:
ECMAScript标准没有规定Date.parse()方法解析的字符串的格式,只是说该方法能解析Date.toString()方法和Date.toUTCString()方法返回的字符串。但是,这些函数根据实现来格式化日期,所以以某种方式编写所有JavaScript实现都能理解的日期是不可能的。