Когда я вызываю следующий код
moment('2020-01-01T00:00:00Z').endOf('month').utc().format()
я получаю результат
'2020-01-01T07:59:59Z'
когда я ожидал увидеть
'2020-01-31T23:59:59Z'
Это ошибка или я неправильно использую API?
Кажется, проблема со смещением часового пояса или ошибка в использовании библиотеки, я пробовал со своим (-120). Это работает! Пробовал с твоей (480) не работает. Все еще проверяю
Я использую версию 2.22.2
Я только что обновился до 2.24.0, и у меня все еще та же проблема.
Я думаю, проблема в том, что вы использовали endOf
перед преобразованием даты в UTC.
Вы передаете эту дату: 2020-01-01T00:00:00Z
, но браузер понимает ее с вашим часовым поясом, поэтому «настоящая дата» — 2019-12-31T15:00:00Z
.
Поэтому вы должны сначала преобразовать его в UTC, а затем продолжить изменение/вызов/и т. д.
Итак, я попробовал это, и это сработало! Сообщите мне, если проблема сохранится.
moment('2020-01-01T00:00:00Z').utc().endOf('month').format()
Только что попробовал на их официальном сайте momentjs.com Работает. Какую версию вы используете?