JS引用类型(3)——Date类型
【3】Date类型
Date类型使用自UTC(国际协调时间)1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能精确到1970年1月1日之前或之后的100 000 000年。
1》创建日期对象:
a).使用new操作符和Date构造函数。不传递参数,新创建的对象自动获得当前日期和时间。
var now = new Date(); //当前时间
b).Date.parse()方法。接受一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日期的毫秒数。如果传入的字符串不能表示日期,那么它会返回NaN。如果直接将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse()方法。
var someDate = new Date(Date.parse("May 25,2004")); 等价于var someDate = new Date("May 25,2004");
c).Date.UTC()方法。其参数分别是年份、基于0的月份(0到11)、月中哪一天(1到31)、小时数(0到23)、分钟、秒以及毫秒数。只有前两个参数是必须的,弱国没有提供月中的天数,则假设天数为1;如果省略了其他参数,则假设为0。
var y2k = new Date(Date.UTC(2000,0));
d).Date.now()方法。返回表示调用这个方法时的日期和时间的毫秒数。
var start = Date.now(); doSomething(); var stop = Date.now(); result = stop - start;
支持Date.now()方法的浏览器为IE9+及其他。
2》继承的方法:
- toLocaleString()方法:按照与浏览器设置的地区相适应的格式返回日期和时间。
- toString()方法:返回带有时区信息的日期和时间。
- valueOf()方法:不返回字符串,而是返回日期的毫秒表示。
var date1 = new Date(2007,0,1); //"January 1,2007" var date2 = new Date(2007,1,1); //"February 1,2007" alert(date1 < date2); //true alert(date1 > date2); //false
3》日期格式化方法:Date类型还有一些专门用于将日期格式化为字符串的方法。
- toDateString()——以特定于实现的格式显示星期几、月、日和年。
- toTimeString()——以特定于实现的格式显示时、分、秒和时区。
- toLocalDateString()——以特定于实现的格式显示星期几、月、日和年。
- toLocalTimeString()——以特定于实现的格式显示时、分、秒和时区。
- toUTCString()——以特定于实现的格式完整的UTC日期。(等价于toGMTString()方法)
4》日期/时间组件方法
[UTC日期指的是在没有时区偏差的情况下(将日期转换为GMT时间)的日期值]
方法 | 描述 |
---|---|
Date() | 返回当日的日期和时间。 |
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getYear() | 请使用 getFullYear() 方法代替。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() | 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
getUTCDate() | 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
getUTCMonth() | 根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
getUTCFullYear() | 根据世界时从 Date 对象返回四位数的年份。 |
getUTCHours() | 根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
getUTCMinutes() | 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
getUTCSeconds() | 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
getUTCMilliseconds() | 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setDate() | 设置 Date 对象中月的某一天 (1 ~ 31)。 |
setMonth() | 设置 Date 对象中月份 (0 ~ 11)。 |
setFullYear() | 设置 Date 对象中的年份(四位数字)。 |
setYear() | 请使用 setFullYear() 方法代替。 |
setHours() | 设置 Date 对象中的小时 (0 ~ 23)。 |
setMinutes() | 设置 Date 对象中的分钟 (0 ~ 59)。 |
setSeconds() | 设置 Date 对象中的秒钟 (0 ~ 59)。 |
setMilliseconds() | 设置 Date 对象中的毫秒 (0 ~ 999)。 |
setTime() | 以毫秒设置 Date 对象。 |
setUTCDate() | 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
setUTCMonth() | 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
setUTCFullYear() | 根据世界时设置 Date 对象中的年份(四位数字)。 |
setUTCHours() | 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
setUTCMinutes() | 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
setUTCSeconds() | 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 |
setUTCMilliseconds() | 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
toSource() | 返回该对象的源代码。 |
toString() | 把 Date 对象转换为字符串。 |
toTimeString() | 把 Date 对象的时间部分转换为字符串。 |
toDateString() | 把 Date 对象的日期部分转换为字符串。 |
toGMTString() | 请使用 toUTCString() 方法代替。 |
toUTCString() | 根据世界时,把 Date 对象转换为字符串。 |
toLocaleString() | 根据本地时间格式,把 Date 对象转换为字符串。 |
toLocaleTimeString() | 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
toLocaleDateString() | 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
UTC() | 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 |
valueOf() | 返回 Date 对象的原始值。 |