Rumah  >  Soal Jawab  >  teks badan

javascript - Masalah menukar rentetan JS kepada cap waktu dengan perbezaan 8 jam

var masa = new Date('2014-07-03'); //Thu Jul 03 2014 08:00:00 GMT+0800 (China Standard Time)
Date.parse(time);


var masa = new Date('2014-7-3'); //Thu Jul 03 2014 00:00:00 GMT+0800 (China Standard Time)

Date.parse(time);

Kenapa ada 8 jam lagi selepas selesai 0?
怪我咯怪我咯2734 hari yang lalu779

membalas semua(3)saya akan balas

  • 黄舟

    黄舟2017-05-19 10:20:39

    Menurut ECMA-262 ed 3, penghuraian masa mungkin dikendalikan secara berbeza.

    Dalam ES5, rentetan dalam format ISO 8601, jika tiada zon waktu ditentukan, dihuraikan ke dalam UTC dan tiada gelagat bersatu untuk memproses rentetan bukan ISO 8601.

    Dalam ES2015, rentetan tanpa zon waktu tertentu dihuraikan kepada waktu tempatan (mengikut masa sistem).

    Jika anda ingin memproses semua rentetan dalam bentuk ini sebagai waktu tempatan, anda boleh menulis fungsi sendiri:

    function parseISOLocal (s) {
      var b = s.split(/\D/);
      return new Date(b[0], b[1]-1, b[2]);
    }

    balas
    0
  • 某草草

    某草草2017-05-19 10:20:39

    Saya juga pernah melihat masalah ini suatu ketika dahulu.

    Jika anda menukar format tarikh kepada "2014/07/02", ia akan ditukar kepada pukul 0 seperti biasa.

    Rujukan: Xuanfengge http://www.xuanfengge.com/js-...

    balas
    0
  • 高洛峰

    高洛峰2017-05-19 10:20:39

    Ia perkara biasa di bawah Firefox

    balas
    0
  • Batalbalas