Быстрый анализ даты и времени Python в нелокальном часовом поясе с учетом перехода на летнее время

Мне нужно быстро превратить строку даты и времени ISO 8601 - без часового пояса в строке, но, как известно, в часовом поясе США / Тихого океана - в пустышкуdatetime64 объект.

Если бы моя машина была в американском / тихоокеанском времени, я мог бы просто запуститьnumpy.datetime64(s), Однако это предполагает, что строки без часовых поясов находятся в местном часовом поясе. Кроме того, я не могу легко указать часовой пояс США / Тихого океана в формате ISO 8601, потому что иногда-0800 и иногда-0700 в зависимости от летнего времени.

Пока самое быстрое решение, которое у меня есть, этоnumpy.datetime64(pandas.Timestamp(s).tz_localize(tz='US/Pacific', ambiguous=True)), Это занимает 70 мкс на моей машине. Было бы хорошо, если бы я мог получить это по крайней мере на порядок быстрее (numpy.datetime64(s) по местному времени занимает 4 мкс, но это неверно, как описано выше). Это возможно?

Ответы на вопрос(1)

Ваш ответ на вопрос