У меня есть название часового пояса, например, "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?