一、普通函式用法
可作為最簡單的函式呼叫,返回一個代表當前事件的字串。注意,即使帶有引數,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)
:設定毫秒時間戳。