一、普通函数用法
可作为最简单的函数调用,返回一个代表当前事件的字符串。注意,即使带有参数,Date
作为普通函数使用时,返回的还是当前时间。
Date()
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"
Date(2000, 1, 1)
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"
复制代码
二、构造函数的用法
就是对它使用new
命令。可以接收多种格式参数,返回一个该参数对应的时间。
// 参数为时间零点开始计算的毫秒数
new Date(1378218728000)
// Tue Sep 03 2013 22:32:08 GMT+0800 (CST)
// 参数为日期字符串
new Date('January 6, 2013');
// Sun Jan 06 2013 00:00:00 GMT+0800 (CST)
// 参数为多个整数,
// 代表年、月、日、小时、分钟、秒、毫秒
new Date(2013, 0, 1, 0, 0, 0, 0)
// Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
复制代码
三、日期的运算
两个日期实例对象进行减法运算时,返回的是它们间隔的毫秒数;进行加法运算时,返回的是两个字符串连接而成的新字符串。
var d1 = new Date(2000, 2, 1);
var d2 = new Date(2000, 3, 1);
d2 - d1
// 2678400000
d2 + d1
// "Sat Apr 01 2000 00:00:00 GMT+0800 (CST)Wed Mar 01 2000 00:00:00 GMT+0800 (CST)"
复制代码
四、静态方法
Date.now()
返回当前时间距离零点的毫秒数。Date.parse()
用来解析日期字符串,返回该时间距离时间零点的毫秒数。Date.UTC()
接收年、月、日等变量作为参数,返回该时间距离时间零点(1970年1月1日 00:00:00 UTC)的毫秒数。
五、实例方法
除了valueOf
和 toString
。可以分为以下三类。
to
类:从Date
对象返回一个字符串,表示指定的时间。get
类:获取Date
对象的日期和时间set
类:设置Date
对象的日期和时间
to 类方法
valueOf()
方法等同于getTime()
方法,返回实例对象距离时间零点对应的毫秒数toString()
方法返回一个完整的日期字符串。toUTCString()
方法返回对应的 UTC 时间,也就是比北京时间晚8个小时。。toISOString()
方法返回对应时间的 ISO8601 写法。toJSON()
方法返回符合JSON
格式的ISO
日期字符串,与toISOString
方法的返回结果完全相同。toDateString()
方法返回日期字符串(不含小时、分和秒)。toTimeString()
方法返回时间字符串(不含年月日)。toLocaleString()
方法返回完整的本地时间toLocaleDateString()
本地日期(不含小时、分和秒)toLocaleTimeString()
本地时间(不含年月日)
get 类方法
getTime()
:返回实例距离1970年1月1日00:00:00的毫秒数,等同于valueOf
方法。getDate()
:返回实例对象对应每个月的几号(从1开始)。getDay()
:返回星期几,星期日为0,星期一为1,以此类推。getFullYear()
:返回四位的年份。getMonth()
:返回月份(0表示1月,11表示12月)。getHours()
:返回小时(0-23)。getMilliseconds()
:返回毫秒(0-999)。getMinutes()
:返回分钟(0-59)。getSeconds()
:返回秒(0-59)。getTimezoneOffset()
:返回当前时间与 UTC 的时区差异,以分钟表示,返回结果考虑到了夏令时因素。
set 类方法
setDate(date)
:设置实例对象对应的每个月的几号(1-31),返回改变后毫秒时间戳。setFullYear(year [, month, date])
:设置四位年份。setHours(hour [, min, sec, ms])
:设置小时(0-23)。setMilliseconds()
:设置毫秒(0-999)。setMinutes(min [, sec, ms])
:设置分钟(0-59)。setMonth(month [, date])
:设置月份(0-11)。setSeconds(sec [, ms])
:设置秒(0-59)。setTime(milliseconds)
:设置毫秒时间戳。