搜尋

首頁  >  問答  >  主體

javascript - js Date轉換毫秒數問題

為什麼

Date.parse('2017-06-18');    //1497744000000
Date.parse('2017-6-18');    //1497715200000

回傳的毫秒數是不一樣的?

typechotypecho2808 天前975

全部回覆(2)我來回復

  • 学习ing

    学习ing2017-06-12 09:32:26

    JavaScript的規格保證了new Date("2017-06-18")的行為。 new Date("2017-6-18")不符合規格格式,瀏覽器可以做任何事情(包括在不同的時區解釋);

    Chrome對待這些格式的解析產生差異 - firefox不會這樣 - 所以建議使用規範中的日期格式,不要依賴瀏覽器處理任何“非標準”格式

    請依照規範寫程式!

    回覆
    0
  • 阿神

    阿神2017-06-12 09:32:26

    new DateDate.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)
    🎜剛好差8小時,所以回傳的毫秒數就不一樣咯。 🎜

    回覆
    0
  • 取消回覆