Date类型使用自UTC1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。


创建日期对象的方法:

(1)获得当前日期和时间

var date = new Date();

(2)根据特定的日期和时间创建日期对象

传入的参数:从UTC午夜开始到该日期止经过的毫秒数。为此,提供两个方法Date.parse()和Date.UTC()。

1)Date.parse()方法:接收一个表示日期的字符串,根据这个字符串返回相应日期的毫秒数。若传入的字符串不能表示日期,则返回NaN。实际上,若直接将表示日期的字符串传给Date构造函数,也会在后台调用Date.parse()。

日期字符串的格式因地区而异,将地区设置为美国的浏览器接收下列格式:

---"月/日/年"

---"英文名月/日/,年"

---"英文名星期几缩写 英文名月 日 年 时:分:秒 时区"

---"YYYY-MM-DDTHH:mm:ss:sssZ"

var date1 = new Date(Date.parse("December 13,2016"));
var date2 = new Date(Date.parse("12/13/2016"));
var date3 = new Date(Date.parse("Tue December 13 2016 21:33:33 GMT-0700"));
var date4 = new Date(Date.parse("2016-12-13T21:33:33Z"));

等价于

var date1 = new Date("December 13,2016");
var date2 = new Date("12/13/2016");
var date3 = new Date("Tue December 13 2016 21:33:33 GMT-0700");
var date4 = new Date("2016-12-13T21:33:33Z");


2)Date.UTC()方法:参数分别是年份、基于0的月份、基于1的天数、基于0的小时数、基于0的分钟数、基于0的秒数、基于0的毫秒数,前两个参数(年和月)是必需的。若没有提供天数,则假设天数为1;若没有提供其他参数,则假设其他参数为0。若直接将表示日期的参数传给Date构造函数,也会在后台调用Date.UTC(),只是日期和时间都是基于本地时间而非UTC时间来创建。

var date1 = new Date(Date.UTC(2016, 11));//GMT时间2016年1月1日午夜零时
var date2 = new Date(Date.UTC(2016, 11, 13, 21, 33, 33));//GMT时间2016年12月13日下午9:33:33
var date3 = new Date(2016, 11);//本地时间2016年1月1日午夜零时
var date4 = new Date(2016, 11, 13, 21, 33, 33);//本地时间2016年12月13日下午9:33:33


Date.now()方法:返回表示调用这个方法时的日期和时间的毫秒数。

var startTime = Date.now();
......//执行若干操作
var endTime = Date.now();
alert(endTime - startTime);

等价于在不支持Date.now()方法的浏览器使用+操作符

var startTime = + new Date();
......//执行若干操作
var endTime = + new Date();
alert(endTime - startTime);

本文转载:CSDN博客