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位数字 |
......有点多,以后补 |