2018-09-14T23:59:59.999Z
- это не конец дня, рассчитанный по endOfDay(new Date());
.Это на 3 часа раньше.«Z» означает UTC, а ваш местный часовой пояс имеет смещение к UTC -0300
.
. Выполнив endOfDay
, вы получите значение даты, которое вы можете использовать в сравнениях и других вычислениях с другими значениями даты,Это полная дата со временем в местном часовом поясе.
Хотите ли вы сохранить тот же номер дня в отформатированной строке?Вы можете отформатировать дату в строку ISO 8601 в вашем местном часовом поясе:
format(endOfDay(new Date()), 'YYYY-MM-DD[T]HH:mm:ssZZ')
// Prints "2018-09-14T23:59:59.999-0300" in Brazil (BRT)
Хотите ли вы получить конец дня с тем же номером, что и сегодня в UTC?Если вы игнорируете фактический конец вашего дня по отношению к другим датам, вы можете просто объединить «последнюю секунду дня» с «Z»:
format(new Date(), 'YYYY-MM-DD') + 'T23:59:59.999Z'
// Prints "2018-09-14T23:59:59.999Z" anywhere on Earth