javascript - Masalah menukar rentetan JS kepada cap waktu dengan perbezaan 8 jam
怪我咯
怪我咯 2017-05-19 10:18:39
0
3
793

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?
怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(3)
黄舟

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]);
}
某草草

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-...

小葫芦

Ia perkara biasa di bawah Firefox

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan