Как получить DateTime в указанную дату и время в указанном часовом поясе с ржавчиной хроно - PullRequest
0 голосов
/ 09 января 2020

У меня есть название часового пояса, например, "America / New_York" и год, месяц, день, час, минута и секунда в этом часовом поясе для определенного времени. Как я могу получить объект DateTime с информацией о часовом поясе для этого времени в этом часовом поясе. Как и локальный объект, но с указанным часовым поясом вместо местного чтобы остаться по местному времени, и мне нужно иметь возможность изменять TZ для разных случаев, в то время как chrono считывает переменную среды TZ только один раз, насколько я знаю.

То, что я хочу, это что-то вроде

let x = ???. tz ("America / New_York"). ymd (2019, 12, 1) .and_hms (2, 0, 0);

, который возвращает DateTime с учетом часового пояса, который будет обрабатывать операции, такие как сложение и вычитание длительностей правильно, учитывая часовой пояс. Поэтому FixeOffest не работает, потому что, например, добавление длительности, которая охватывает переход на летнее время, не дает (по моему опыту) результата с правильным смещением - оно остается на исходном фиксированном смещении, даже если это не применяется на новую дату.

Есть ли такая вещь? Можно ли создать объект Local с указанным TZ без установки переменной окружения TZ?

...