javascript Date.toISOString () возвращаемое значение даты разницы - PullRequest
0 голосов
/ 04 февраля 2020

Я путаюсь с функцией javascript Date.toISOString (), которая показала в следующем примере, как получается, что значение даты x в формате ISO становится январским?

const date = new Date();
const x = (new Date(date.getFullYear(), date.getMonth() , 1));

console.log(date); \\Tue Feb 04 2020 11:11:12 GMT+0800 (Malaysia Time)
console.log(x); \\Sat Feb 01 2020 00:00:00 GMT+0800 (Malaysia Time)

console.log(date.toISOString()); \\2020-02-04T03:11:12.330Z
console.log(x.toISOString()); \\2020-01-31T16:00:00.000Z

1 Ответ

1 голос
/ 04 февраля 2020

Это связано с преобразованием часового пояса из GMT + 08 в UT C. Функция toISOString преобразует дату в UT C (в качестве примечания вы можете определить, что дата находится в часовом поясе UT C по "Z" в конце строки).

При преобразовании Feb 01 2020 00:00:00 GMT+0800 в строку ISO дата уменьшается на 8 часов и, следовательно, становится Jan 31 2020 16:00:00.

...