今日複習了一下在JS中日期與時間的基本知識
在ECMAScript中, 月份是由0算起。
// 基本的new Date() 將會返回一個帶UTC偏移的詳細時間資訊
let time = new Date()
// Aug 06 2017 00:21:21 GMT+0800 (CST)
new Date(2015, 0) // 2015年1月1日, 12:00 A.M.
new Date(2015, 1, 14) // 2015年2月14日, 12:00 A.M.
new Date(2015, 3, 15, 14) // 2015年4月15日, 2:00 P.M.
new Date(2015, 3, 15, 14, 30) // 2015年4月15日, 2:30 P.M.
日期可以直接比較
let time1 = new Date(1996, 2, 1)
let time2 = new Date(2012, 2, 2)
time1 > time2 // false
time1 < time2 // true
使用 Date.UTC 取得時間毫秒
let ms = Date.UTC(2017, 7, 5)
// 1501891200000
// 可搭配 new Date
let d = new Date(ms)
// Sat Aug 05 2017 08:00:00 GMT+0800 (CST)
從時間實例中取得各個時間資訊
let d = new Date(Date.UTC(2017, 7, 5))
// 年
d.getFullYear() // 2017
// 月
d.getMonth() // 7 (由0算起, 7為八月)
// 號
d.getDate() // 5
// 星期
d.getDay() // 6
// 時
d.getHours() // 8
// 分
d.getMinutes() // 0
// 秒
d.getSeconds() // 0
// 毫秒
d.getMilliseconds() // 0
在Date物件內部, 日期是由Unix Epoch (UTC 1970年1月1日)算起, 並且使用毫秒表示
當有複雜時間處理需求時, 可以考慮使用 Moment.js