【JavaScript学习】Date类型

创建一个日期对象:

var now = new Date();

调用Date构造函数而不传递参数,则新创建的对象自动获得当前日期和时间。
如果想根据特定的日期和时间创建日期对象,则需传入表示该日期的毫秒数(即从UTC时间1970年1月1日午夜起至该日期止经过的毫秒数)。
ECMAScript为简化此过程提供了两种方法:

Date.parse():

param:表示日期的字符串参数
return:根据字符串返回相应日期的毫秒数;若传入的字符串不能表示日期,则返回NaN
字符串格式:

  • “月/日/年”,new Date(Date.parse("6/13/2014"));
  • “英文月名 日,年”,new Date(Date.parse("January 12,2004"));
  • “英文星期几 英文名月名 日 年 时:分:秒 时区”,new Date(Date.parse("Tue May 25 2004 00:00:00 GMT-0700"));
  • ISO 8601扩展模式 YYYY-MM-DDTHH:mm:ss.sssZ,new Date(Date.parse("2004-05-25T00:00:00"));(只有兼容ECMAScript 5的实现支持此格式)
var someDate = new Date(Date.parse("May 25,2004"));
//若直接传字符串,则会在后台调用Date.parse()
var someDate = new Date("May 25,2004");

Date.UTC():

param:表示日期的字符串参数
return:根据字符串返回相应日期的毫秒数
字符串格式:年份、基于0的月份(0-11)、月中的哪一天(1-31)、小时数(0-23)、分钟、秒以及毫秒数。只有年、月是必须的。若没有提供月中的天数,则默认为1;若省略其他参数,则都默认为0。

//示例
//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));

这里很奇怪,红皮书上说的是默认设为0,但是我在Chrome上输出下面代码中y2k变量,得到的结果是Sat Jan 01 2000 08:00:00 GMT+0800,并不是午夜0时。

Date构造函数也会模仿Date.UTC(),但是日期和时间是基于本地而非GMT来创建。

本地时间输出,默认确实全设为0了。

//等价简写
//本地时间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);

ECMAScript 5添加了Date.new()方法,返回表示调用这个方法时的日期和时间的毫秒数。这个方法简化了使用Date对象分析代码的工作。例如:

//取得开始时间
var start = new Date();

//调用函数
doSomething();

//取得停止时间
var stop = new Date(),
    result = stop - start;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值