new Date 和 Date.parse 使用的是相同的解析規律,只是一個回傳 Date object 另一個回傳毫秒數,我們用new Date來說明問題:
另一個回傳毫秒數,我們用
new Date
console.log(new Date('2017-06-18')) // Sun Jun 18 2017 08:00:00 GMT+0800 (CST)
console.log(new Date('2017-6-18')) // Sun Jun 18 2017 00:00:00 GMT+0800 (CST)
JavaScript的規格保證了new Date("2017-06-18")的行為。 new Date("2017-6-18")不符合規格格式,瀏覽器可以做任何事情(包括在不同的時區解釋);
Chrome對待這些格式的解析產生差異 - firefox不會這樣 - 所以建議使用規範中的日期格式,不要依賴瀏覽器處理任何“非標準”格式
請依照規範寫程式!
另一個回傳毫秒數,我們用new Date
和Date.parse
使用的是相同的解析規律,只是一個回傳Date object
另一個回傳毫秒數,我們用new Date
來說明問題:new Date
🎜剛好差8小時,所以回傳的毫秒數就不一樣咯。 🎜