JavaScript 複習之 Date 物件

DreamTruth發表於2019-02-26

一、普通函式用法

可作為最簡單的函式呼叫,返回一個代表當前事件的字串。注意,即使帶有引數,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)"
複製程式碼

四、靜態方法

  1. Date.now() 返回當前時間距離零點的毫秒數。
  2. Date.parse()用來解析日期字串,返回該時間距離時間零點的毫秒數。
  3. Date.UTC() 接收年、月、日等變數作為引數,返回該時間距離時間零點(1970年1月1日 00:00:00 UTC)的毫秒數。

五、例項方法

除了valueOftoString。可以分為以下三類。

  • to類:從Date物件返回一個字串,表示指定的時間。
  • get類:獲取Date物件的日期和時間
  • set類:設定Date物件的日期和時間

to 類方法

  1. valueOf()方法等同於getTime()方法,返回例項物件距離時間零點對應的毫秒數
  2. toString()方法返回一個完整的日期字串。
  3. toUTCString()方法返回對應的 UTC 時間,也就是比北京時間晚8個小時。。
  4. toISOString()方法返回對應時間的 ISO8601 寫法。
  5. toJSON()方法返回符合 JSON 格式的ISO 日期字串,與toISOString方法的返回結果完全相同。
  6. toDateString()方法返回日期字串(不含小時、分和秒)。
  7. toTimeString()方法返回時間字串(不含年月日)。
  8. toLocaleString()方法返回完整的本地時間
  9. toLocaleDateString()本地日期(不含小時、分和秒)
  10. 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):設定毫秒時間戳。

相關文章