Привет, я пытаюсь изменить эту дату 29 марта 2017 года на дату:

Вот что я попробовал:

var isoDate = new Date('Mar 29, 2017').toISOString();

//isoDate => returns "2017-03-28T22:00:00.000Z"

Почему я получаю 28T22 в начале вместо 29 ??

0
Defoe 24 Апр 2017 в 18:14

2 ответа

Лучший ответ

Вы конвертируете в часовой пояс UTC, а не в CET.

CET означает Центральноевропейское время . UTC известен как универсальное время .

UTC отстает от CET на 2 часа.

Итак, когда 11:00 CET , будет 9:00 UTC .

toISOString() покажет дату, добавив / вычтя разницу во времени между UTC и вашим часовым поясом. (см. комментарии)

2
Felix 24 Апр 2017 в 15:25

Почему я получаю 28T22 в начале вместо 29 ??

Ну, просто потому, что вы его принудительно используете, вы используете .toISOString(), который будет возвращать дату в формате ISO.

Потому что Mar 29, 2017 T00:00:00.000Z в CET - 2017-03-28T22:00:00.000Z в формате ISO .

Вы можете проверить разницу между часовыми поясами UTC и CET для более подробной информации.

3
cнŝdk 24 Апр 2017 в 15:30
43591809