F2e踩坑之路web颜值要爆表Web前端之路

JavaScript引用类型——Date类型

2017-05-23  本文已影响27人  胖胖冰

Date类型

Date类型使用自UTC(Coordinated Universal Time,国际协调时间) 1970年1月1日午夜(零食)开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的100000000年。
要创建一个日期对象,使用new操作符和Date构造函数即可。如:

var now = new Date();

在调用Date()构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。如果想根据特定的日期和时间创建日期对象,必须传入表示该日期的毫秒数(即从UTC时间1980年1月1日午夜起至改日期经过的毫秒数)。为了简化这一计算过程,ECMAScript提供了两个方法:Date.parse()Date.UTC()

  • "月/日/年",如6/14/2014;

例如,为2004年5月24日创建一个日期对象,可以使用下面的代码:

var someDate = new Date(Date.parse("May 25, 2004"));

如果传入Date.parse()方法的字符串不能表示日期,它会返回NaN。实际上,直接将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse()。

var someDate = new Date("May 25, 2004");
//GMT 时间 2000年 1月 1日 午夜零时
var y2k = new Date(Date.UTC(2000,0));
//GMT 时间 2005年 5月 5日 下午5:55:55
var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));

如同模仿Date.parse()一样,Date构造函数也会模仿Date.UTC(),但有一点明显不同:日期和时间都是基于本地时间而非GMT来创建。不过,Date构造函数接收的参数仍然与Date.UTC()相同。

//本地时间 2000年 1月 1日 午夜零时
var y2k = new Date(2000,0);
//本地时间 2005年 5月 5日 下午5:55:55
var allFives = new Date(2005, 4, 5, 17, 55, 55);
//取得开始时间
var start = Date.now();
//调用函数
doSomething();
//取得停止时间
var stop = new Date(),
    result = stop - start;

在不支持Date.now()方法的浏览器,使用+操作符获取Date对象的时间戳,也可以达到同样的目的。

//取得开始时间
var start = Date.now();
//调用函数
doSomething();
//取得停止时间
var stop = +new Date(),
    result = stop - start;
var date1 = new Date(2007,0,1);
var date2 = new Date(2007,1,1);
alert(date1<date2); //true
alert(date1>date2); //false
  • toDateString()——以特定与实现的格式显示星期几、月、日和年
  • getTime():返回表示日期的毫秒数;与valueOf方法返回的值相同
上一篇 下一篇

猜你喜欢

热点阅读