[英]How do I find difference between times in different timezones in Python?
我試圖計算格式如下的兩個日期/時間之間的差異(以秒為單位):
2010-05-11 17:07:33 UTC
2010-05-11 17:07:33美國東部時間
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'
除了pytz
,請查看python-dateutil
。 relativedelta
功能非常出色。
這是一起使用它們的示例:
from datetime import datetime
from dateutil.relativedelta import *
import pytz
if __name__ == '__main__':
date_one = datetime.now(pytz.timezone('US/Eastern'))
date_two = datetime.now(pytz.timezone('US/Mountain'))
rdelta = relativedelta(date_one, date_two)
print(rdelta)
來自strptime的文檔
對%Z指令的支持基於tzname中包含的值以及日光是否為真。 因此,它是特定於平台的,除了識別始終已知的UTC和GMT(並且被認為是非夏令時時區)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.