我想兩個日期之間的計算差值(單位:秒)/時間格式如下:如何找到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?它可能比你在做的任何事都更簡單。 – 2010-05-13 15:54:09
感謝您的答案。 但即使通過使用pytz,我仍然無法找出解析字符串'EDT'等並將其轉換爲pytz obj的更好方法時區可以是任何3-4字母字符串縮寫,但pytz使用'US/Eastern' 。 我是否需要建立一個映射將縮寫轉換爲'US/Eastern'格式?這聽起來對我來說太過分了。 謝謝, – JasonA 2010-05-13 16:46:04
我最終建設有條目的文本文件中像下面: << EDT \t東部夏令時間(北美)\t UTC-04 >> 然後使用字符串搜索入口「EDT」從時間字符串獲得 通過使用文件中的值-04,我可以使用mktime()以秒爲單位獲取時間差。 我仍然認爲應該有一個更簡單的方法來做到這一點... 謝謝, – JasonA 2010-05-13 18:47:59