Мне нужна помощь по этому сценарию:
1) В настоящее время лето. Мне нужно создать интервал времени для 9 июня, понедельника, 6 вечера - 7 вечера по восточному времени и каждую неделю после этого до конца 2018 года. Этот интервал будет для студентов планировать встречи с репетитором. Клиент прямо сейчас отправляет это как запрос на создание времени начала 9 июня по понедельникам 14:00 UTC . (EDT - смещение -4 часа) Сервер создает время начала в дБ для 9 июня в 2 часа дня по Гринвичу и добавляет 7 дней миллисекунд для создания повторяющихся
^ это вызывает проблему из-за летнего времени. Скажем, сейчас 5 ноября (после смены летнего времени). В БД все еще сохраняются значения 5 ноября, 2 часа дня по Гринвичу. Но поскольку мой часовой пояс изменился , вместо смещения на 4 часа, как в июне, я сместил на 5 часов. Таким образом, правильное время начала «6 часов вечера в моем часовом поясе» становится «7 часов вечера моего часового пояса». это ошибка
решение может быть одним из двух (или комбинацией обоих):
1) вместо добавления миллисекунд на 7 дней вы добавляете миллисекунды на 1 неделю в зависимости от часового пояса пользователя В настоящее время нет способа извлечь часовой пояс человека на основе смещения utc (-400, которая сейчас находится на восточном побережье США, также применима к Канаде, Карибскому бассейну, Южной Америке и т. д. Нам нужно сохранить часовой пояс пользователя в виде строки, а не счетчик смещений UTC. Существует международный стандарт для часовых поясов)
2) ?? что-то еще