new Date() 系統設置的當前時間來創建一個Date對象
測試時間2019-03-08/當前機器時區東八時區
new Date("2019-03-08")
Fri Mar 08 2019 08:00:00 GMT+0800 (中國標準時間)
getTime() 1552003200000 相當於如果utc爲3月8號的凌晨,那麼當前測試的時候已經八點了
new Date("2019-03-08 00:00:00") 得出的是當前時區凌晨
Date構造函數的參數
new Date()
new Date(timestamp)
new Date('December 17, 1995 03:24:00')
new Date('2019-03-08')
new Date('2019/03/08')
new Date('2019-03-08 12:12:12') 如果是在safari中,得用new Date('2019/03/08 12:12:12')
new Date(2019, 03, 08) 爲了避免2000年問題最好指定4位數的年份; 使用 1998, 而不要用 98. 月份從0到11
new Date(2019, 03, 08, 12, 12, 12);
當Date作爲構造函數調用並傳入多個參數時,如果數值大於合理範圍時(如月份爲13或者分鐘數爲70),相鄰的數值會被調整。比如 new Date(2013, 13, 1)等於new Date(2014, 1, 1),它們都表示日期2014-02-01(注意月份是從0開始的)。其他數值也是類似,new Date(2013, 2, 1, 0, 70)等於new Date(2013, 2, 1, 1, 10),都表示時間2013-03-01T01:10:00
當Date作爲構造函數調用並傳入多個參數時,所定義參數代表的是當地時間。如果需要世界協調時,使用 new Date({{jsxref("Date.UTC()", "Date.UTC(...)")}}) 和相同參數
JavaScript的時間是由世界標準時間(UTC)1970年1月1日開始,用毫秒計時,一天由86,400,000毫秒組成。Date對象的範圍是-100,000,000天至100,000,000天(等效的毫秒值)
以一個函數的形式來調用JavaScript的Date對象(i.e., 不使用 new 操作符)會返回一個代表當前日期和時間的字符串
Date.now === new Date().getTime()
new Date("2019-03-08").getTime() === Date.parse("2019-03-08") === Date.UTC(2019, 02, 08) === 1552003200000
如果是在UTC之前時區,得到得是2019-03-07
getUTCDate 獲取的是相當於UTC日期的時間,比如new Date("2019-03-08"),在UTC之前用getDate獲取的是7,之後是8,但是getUTCDate都是8
toISOString()會轉成對應的UTC時間,去掉對應的時區信息
比如new Date("2019-03-08").toISOString() === "2019-03-08T00:00:00.000Z"
new Date("2019-03-08 12:12:12").toISOString() === "2019-03-08T04:12:12.000Z"
new Date("2019-03-08 00:00:00").toISOString() === "2019-03-07T16:00:00.000Z"
toLocaleDateString 默認使用運行時(機器)時區
new Date("2019-03-08").toLocaleDateString() === 2019/3/8
new Date("2019-03-08").toLocaleDateString("en-US",{timeZone:"America/New_York"}) === 3/7/2019
new Date("2019-03-08 00:00:00").toLocaleDateString("en-US",{timeZone:"America/New_York"}) === 3/7/2019
new Date("2019-03-08").toLocaleDateString("en-US",{timeZone:"Asia/Kolkata"}) === 3/8/2019
new Date("2019-03-08 00:00:00").toLocaleDateString("en-US",{timeZone:"Asia/Kolkata"}) === 3/7/2019
toUTCString
new Date("2019-03-08").toUTCString() === Fri, 08 Mar 2019 00:00:00 GMT