функция формата date-fnz, возвращающая неверное смещение часового пояса для начала дня - PullRequest
0 голосов
/ 10 февраля 2020

Я использую date-fns ("date-fns": "^ 2.0.0-beta.5") и date-fnz-tz ("date- fns-tz ":" ^ 1.0.9 ") для форматирования заданных пользователем дат. У моего приложения есть даты начала и окончания. Даты начала имеют свои часы, минуты и секунды, установленные на 00.00.00. Конечные даты установлены на 23.59.59. Смещение часового пояса добавляется в конец даты:

часовой пояс: Азия / Гонконг

отл. startDate: 2020-02-10T00: 00: 00 + 08: 00 endDate: 2020-02-10T23: 59: 59 + 08: 00

Для достижения 00.00.00 и 23.59.59 я использую startOfDay и endOfDay соответственно

Остальное обрабатывается функцией format

Проблема, с которой я сталкиваюсь при попытке для форматирования startDate значение часового пояса является неправильным, но не при попытке отформатировать endDate оно является правильным.

date = пн 10 февраля 2020 17:55:43 GMT + 0800 (стандартное время Гонконга ) {}, timeZone = "Asia / Hong_Kong"

import { startOfDay } from "date-fns"
import { format } from "date-fns-tz"

function getStartDate(date: Date, timeZone: string) {
  const startDate = startOfDay(new Date())

  // startDate = Mon Feb 10 2020 00:00:00 GMT+0800 (Hong Kong Standard Time) {}

  const formatted = format(startDate, "yyyy-MM-dd'T'HH:mm:ssXXX", { timeZone })

  // formatted = "2020-02-10T00:00:00+32:00"

  return formatted
}

Аналогичный процесс для endOfDay

import { endOfDay } from "date-fns"
import { format } from "date-fns-tz"

function getEndDate(date: Date, timeZone: string) {
  const endDate = endOfDay(new Date())

  // endDate = Mon Feb 10 2020 23:59:59 GMT+0800 (Hong Kong Standard Time) {}

  const formatted = format(endDate, "yyyy-MM-dd'T'HH:mm:ssXXX", { timeZone })

  // formatted = "2020-02-10T23:59:59+08:00"

  return formatted
}

Может кто-нибудь пролить свет на то, почему я получаю +32: 00 на конец моей начальной даты?

1 Ответ

0 голосов
/ 11 февраля 2020

Решено обновлением date-fns-tz до последней версии. На момент написания этого ответа это 1.0.10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...