Быстрый анализ даты и времени 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 мкс, но это неверно, как описано выше). Это возможно?