5.3 引用类型(Date类型)(JavaScript高级程序设计 第3版)

5.3   Date类型

 Date类型使用自UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存日期。

要创建一个日期对象,使用new操作符和Date构造函数即可,如下:

var now = new Date();

构造函数不传参数自动获取当前日期和时间,传参必须传表示该日期的毫秒数;

为了简化这个过程,于是ECMAScript体哦那个了两种方法:Date.parse()和Date.UTC().

Date.parse()方法接收一个表示日期的字符串参数,返回相应的毫秒数,传入的日期格式通常因地区而异。如果传入的字符串不能表示日期,则返回NaN。

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

Date.UTC()方法接收参数分别是:(年,月,天,时,分,秒,毫秒),其中月份时基于0的(一月是0),小时数是0-23,只有年和月是必须的。其他可自动填充为0

var allFives = new Date(Date.UTC(2005,4,5,17,55,55));

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

var start = Date.now();
doSomething();
var stop = Date.now();
result = stop - start;

5.3.1  继承的方法

Date也继承了toLocaleString()和toString()和valueOf()方法;

但由于toLocaleString()和toString()在不同浏览器显示的差距很大,所以没有什么价值;

valueOf()可以用域比较日期的毫秒数的大小:

var date1 = new Date(2007,0,1);   //2007/1/1
var date2 = new Date(2007,1,1);   //2007/2/1

alert(date1 > date2);   //false
alert(date1 < date2);   //true

//from page 101

时间越早毫秒数越小。

5.3.2  日期格式化方法

toDateString() —— 以特定于实现的格式显示星期几、月、日、和年;

toTimeString() —— 以特定于实现的格式显示时、分、秒和时区;

toLocaleDateString() —— 以特定于地区的格式显示星期几、月、日、和年;

toLocaleTimeString() —— 以特定于实现的格式显示时、分、秒;

toUTCString() —— 以特定于实现的格式完整的UTC日期;

由于因浏览器而已,所以不能用在用户界面

5.3.3  日期/时间组件方法

方法 说明
getTime() 返回表示日期的毫秒数,与valueOf()方法返回的值相同
setTime(毫秒) 以毫秒数设置日期,会改变整个日期
getFullYear() 取得4位数的年份
getUCTFullYear() 返回UTC日期的4位4位数年份
setFullYear(年) 设置日期年份。传入的年份必须是4位数字
  ......有点多,以后补

猜你喜欢

转载自blog.csdn.net/weixin_39752673/article/details/81384507