Выполнение следующего кода в версии Chrome 49.0.2623.110 м
Может быть, связано с # 2982?
Поскольку вы используете функцию moment()
для создания своей даты, moment предполагает, что вы обрабатываете локальную дату. Таким образом, функция .startOf()
перемещает вас к началу вашей локальной даты.
Однако .toISOString()
выводит дату в формате UTC, на что указывает Z в конце строк.
Судя по вашему профилю на github, вы находитесь в Израиле. Итак, приспособившись к часовому поясу Азии/Иерусалима и поместив все это в код:
//the time now in Jerusalem
moment().format()
"2016-04-03T14:48:10+03:00"
//start of day in Jersualem
moment().startOf('day').format()
"2016-04-03T00:00:00+03:00"
//start of day as ISO string is three hours before start of day in Jerusalem
moment().startOf('day').toISOString()
"2016-04-02T21:00:00.000Z"
Вам нужно либо полностью работать по местному времени и использовать .format()
для получения желаемого результата, либо полностью работать в формате UTC.
Этот раздел документов может быть полезен:
http://momentjs.com/guides/#/parsing/local-utc-zone/
:лицо-ладонь:
Спасибо за подробное объяснение.
Я думаю, что я объяснил это как минимум дважды на этой неделе между здесь и переполнением стека. Вы не единственный человек, который находится в замешательстве. Я собираюсь обновить документы, чтобы сделать часть UTC более понятной.
Самый полезный комментарий
Поскольку вы используете функцию
moment()
для создания своей даты, moment предполагает, что вы обрабатываете локальную дату. Таким образом, функция.startOf()
перемещает вас к началу вашей локальной даты.Однако
.toISOString()
выводит дату в формате UTC, на что указывает Z в конце строк.Судя по вашему профилю на github, вы находитесь в Израиле. Итак, приспособившись к часовому поясу Азии/Иерусалима и поместив все это в код:
Вам нужно либо полностью работать по местному времени и использовать
.format()
для получения желаемого результата, либо полностью работать в формате UTC.Этот раздел документов может быть полезен:
http://momentjs.com/guides/#/parsing/local-utc-zone/