1、创建日期对象
var now=new Date();
a.在调用 Date 构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。
b.如果想创建特定的日期对象,必须传入表示该日期的毫秒数(即从UTC时间1970年1月1日午夜起至该日期止经过的毫秒数)。ECMAScript有两个方法简化这个过程:Date.parse()
和Date.UTC()
。传入表示日期的字符串参数,他们会返回表示该日期的毫秒数。ECMA-262 没有定义 Date.parse()应该支持哪种日期格式,因此这个方法的行为因实现而异,而且通常是因地区而异。
Date.parse():2004 年 5 月 25 日创建一个日期对象,可以使用下面的代码:
var someDate = new Date(Date.parse("May 25, 2004"));
Date.UTC():GMT 时间 2005 年 5 月 5 日下午 5:55:55
var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));
如果传入 Date.parse()方法的字符串不能表示日期,那么它会返回 NaN。
如果直接将表示日期的字符串传递给 Date 构造函数,也会在后台调用 Date.parse()或Date.UTC()。
var someDate = new Date("May 25, 2004");
var allFives = new Date(2005, 4, 5, 17, 55, 55);
这行代码将会得到与前面相同的日期对象。
2、Date.now()
返回调用时的日期和时间的毫秒数。
//取得开始时间
var start = Date.now();
//调用函数
doSomething();
//取得停止时间
var stop = Date.now(),
result = stop – start;
支持 Data.now()方法的浏览器包括 IE9+、 Firefox 3+、 Safari 3+、 Opera 10.5 和 Chrome。在不支持它的浏览器中,使用+操作符把 Data 对象转换成字符串。
//取得开始时间
var start = +new Date();
//调用函数
doSomething();
//取得停止时间
var stop = +new Date(),
result = stop - start;
一元操作符+其实调用了Date的valueOf()方法,而Date 类型的 valueOf()方法,则根本不返回字符串,而是返回日期的毫秒表示