為什么
Date.parse('2017-06-18'); //1497744000000
Date.parse('2017-6-18'); //1497715200000
返回的毫秒數(shù)是不一樣的?
Following the voice in heart.
JavaScript的規(guī)范保證了new Date("2017-06-18")的行為。new Date("2017-6-18")不符合規(guī)格格式,瀏覽器可以做任何事情(包括在不同的時區(qū)解釋);
Chrome對待這些格式的解析產(chǎn)生差異 - firefox不會這樣 - 所以建議使用規(guī)范中的日期格式,不要依賴瀏覽器處理任何“非標準”格式
請按照規(guī)范寫代碼!
new Date
和 Date.parse
使用的是同樣的解析規(guī)律,只是一個返回 Date object
另一個返回毫秒數(shù),我們使用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)
剛好差8個小時,所以返回的毫秒數(shù)就不一樣咯。