Я пытаюсь вычислить разницу (в секундах) между двумя даты/времени отформатирован следующим образом:Как найти разницу между временем в разных часовых поясах в Python?
2010-05-11 17:07:33 UTC
2010-05-11 17:07:33 EDT
time1 = '2010-05-11 17:07:33 UTC'
time2 = '2010-05-11 17:07:33 EDT'
delta = time.mktime(time.strptime(time1,"%Y-%m-%d %H:%M:%S %Z"))-\
time.mktime(time.strptime(time2, "%Y-%m-%d %H:%M:%S %Z"))
проблема, которую я получил в EDT не распознается, конкретная ошибка
ValueError: time data '2010-05-11 17:07:33 EDT' does not match format '%Y-%m-%d %H:%M:%S %Z'
Вы ищете это http://labix.org/python-dateutil? Это может быть проще, чем вы это делаете. –
Спасибо за ответы. Но даже с помощью pytz я до сих пор не мог найти лучшего способа разобрать строку «EDT» и т. Д. И преобразовать ее в объект pytz, часовой пояс может быть любыми аббревиатурами из 3-4 букв, но pytz использует «US/Eastern», , Нужно ли строить картографию для преобразования аббревиатур в формат «США/Восток»? Это звучит слишком много для меня. Спасибо, – JasonA
я в конечном итоге создание текстового файла с записями, как следующие: << EDT \t по восточному поясному времени (Северная Америка) \t UTC-04 >> Тогда поиск записи, используя строку «EDT» полученное из строки времени Используя значение -04 в файле, я могу использовать mktime(), чтобы получить разницу во времени в секундах. Я все еще думаю, что должен быть более простой способ сделать это ... Спасибо, – JasonA