浅谈JavaScript引用类型——Date
2016-12-13 21:53
417 查看
Date类型使用自UTC1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。
创建日期对象的方法:
(1)获得当前日期和时间
(2)根据特定的日期和时间创建日期对象
传入的参数:从UTC午夜开始到该日期止经过的毫秒数。为此,提供两个方法Date.parse()和Date.UTC()。
1)Date.parse()方法:接收一个表示日期的字符串,根据这个字符串返回相应日期的毫秒数。若传入的字符串不能表示日期,则返回NaN。实际上,若直接将表示日期的字符串传给Date构造函数,也会在后台调用Date.parse()。
日期字符串的格式因地区而异,将地区设置为美国的浏览器接收下列格式:
---"月/日/年"
---"英文名月/日/,年"
---"英文名星期几缩写 英文名月 日 年 时:分:秒 时区"
---"YYYY-MM-DDTHH:mm:ss:sssZ"
等价于
2)Date.UTC()方法:参数分别是年份、基于0的月份、基于1的天数、基于0的小时数、基于0的分钟数、基于0的秒数、基于0的毫秒数,前两个参数(年和月)是必需的。若没有提供天数,则假设天数为1;若没有提供其他参数,则假设其他参数为0。若直接将表示日期的参数传给Date构造函数,也会在后台调用Date.UTC(),只是日期和时间都是基于本地时间而非UTC时间来创建。
Date.now()方法:返回表示调用这个方法时的日期和时间的毫秒数。
等价于在不支持Date.now()方法的浏览器使用+操作符
创建日期对象的方法:
(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);
相关文章推荐
- javascript 字符串多行的写法
- JSTL标准标签库核心标签的使用
- 12 款 JS 代码测试必备工具(翻译)
- Web开发常用到的JavaScript代码区别和经验总结
- JSP标准标签库(JSTL)及其标签属性
- JavaScript高级程序设计8--DOM
- JSON返回DateTime/Date('123123123')/解决办法
- XCO-JS介绍
- _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
- fastjson中转字符串时格式化、显示null值等
- Selenium JSON通信协议
- Js基础
- js,jq获取元素位置属性及兼容性写法
- 浅谈JavaScript引用类型——基本包装类型
- 1.leapmotion之API概述(Javascript文档V3.1)
- js中的事件委托
- JavaScript - Scope of variables
- [Java][Liferay] 如何从Javascript的function中获取language property的值
- javascript 伪协议
- web前端之JavaScript高级程序设计三:面向对象的程序设计