cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Masalah milisaat penukaran tarikh js

Kenapa

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

Bilangan milisaat yang dikembalikan adalah berbeza?

typechotypecho2727 hari yang lalu933

membalas semua(2)saya akan balas

  • 学习ing

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

    Spesifikasi JavaScript menjamin kelakuan Date baharu("2017-06-18"). new Date("2017-6-18") tidak mematuhi format spesifikasi dan penyemak imbas boleh melakukan apa sahaja (termasuk mentafsir dalam zon waktu yang berbeza

    );

    Chrome melayan penghuraian format ini secara berbeza - Firefox tidak - jadi disyorkan untuk menggunakan format tarikh dalam spesifikasi dan tidak bergantung pada penyemak imbas untuk mengendalikan sebarang format "bukan standard"

    Sila tulis kod mengikut spesifikasi!

    balas
    0
  • 阿神

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

    new DateDate.parse 使用的是同样的解析规律,只是一个返回 Date object 另一个返回毫秒数,我们使用new DateUntuk menggambarkan masalah:

    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)

    Ia betul-betul 8 jam berbeza, jadi bilangan milisaat yang dikembalikan adalah berbeza.

    balas
    0
  • Batalbalas