1、時間戳和時間對象可以靈活轉變:
let n = new Date() // 返回的是當前時間對應的國際時間
let nt =n.getTime() let n2 =new Date(nt) console.log(n,nt,n2)
輸出為當前時間和時間戳:
Date 2018-12-06T06:41:56.217Z
Date 2018-12-06T06:41:56.217Z
2、時間轉換的字符串參數格式不同,返回的時間格式有時會不同
// 時分秒如果有參數,返回的是參數中的本地時間對應的國際時間。
let i = new Date('2018-12-06 0:0:0')
let j = new Date('2018/12/06 0:0:0') 輸出 :Date 2018-12-05T16:00:00.000Z Date 2018-12-05T16:00:00.000Z
// 時分秒如果沒有參數, ‘-’ 符號的返回的是國際標准時間0點,‘/’符號返回的是本地時間0點對應的國際時間
let i2 = new Date('2018-12-06')
let j2= new Date('2018/12/06')
console.log(i2,j2)
輸出:Date 2018-12-06T00:00:00.000Z
Date 2018-12-05T16:00:00.000Z
// 時間戳對比確認
console.log(i.getTime(),j.getTime(),i2.getTime(),j2.getTime())
輸出:
console.log(j == j2)
輸出: false
3、非字符串參數,記得月份是0-11:
let ii = new Date(2018,12,6,0,0,0) let ii2 = new Date(2018,12,6) console.log(ii,ii2)
輸出的是本地時間0時對應的國際時間:
Date 2019-01-05T16:00:00.000Z
Date 2019-01-05T16:00:00.000Z
4、參數為時間戳,輸出的是國際時間
let i1 =new Date('2018-12-06 0:0:0') let i2 =new Date('2018-12-06 0:0:0').getTime() let i3 =new Date(i2) console.log(i1,i2,i3)
輸出:
Date 2018-12-05T16:00:00.000Z
Date 2018-12-05T16:00:00.000Z
總結:慎用 2018-12-06 格式的參數,傳入Date的參數大都代表本地時間,輸出的值都是對應的國際時間
附加控制台返回值圖:

友情鏈接: https://www.cnblogs.com/hjsblogs/p/5842717.html 這個大神說得很具體。
