簡體   English   中英

如何在Python 2.7中計算兩個帶時區的時間字符串的差異?

[英]How to calculate the difference of two time strings with timezone in Python 2.7?

我有兩個琴弦

s1 = "2013-11-21T07:45:51ZUTC+0000" # Europe
s2 = "2013-11-21T13:15:28ZUTC+0530" # India

我想知道以秒為單位的差異(應該是23秒)。 我試過了:

from dateutil.parser import parse
dt1 = parse(s1)
dt2 = parse(s2)
(dt1-dt2).total_seconds()
-39577.0

這不是正確的結果。 我該怎么做才能獲得正確的結果? TIA!

鑒於您的日期字符串將采用相同的格式。 您可以通過從字符串中刪除“ ZUTC”來幫助解析函數找出正確的日期。 像這樣:

from dateutil.parser import parse

s1 = "2013-11-21T07:45:51ZUTC+0000" # Europe
s2 = "2013-11-21T13:15:28ZUTC+0530" # India

def new_parse(string):
    return parse(string.replace('ZUTC', ''))

dt1 = new_parse(s1)
dt2 = new_parse(s2)
print (dt1-dt2).total_seconds()
>>> import datetime
>>> str(datetime.datetime.strptime("2013-11-21T07:45:51ZUTC+0000", "%Y-%m-%dT%H:%M:%SZ%Z%z") - datetime.datetime.strptime("2013-11-21T13:15:28ZUTC+0530", "%Y-%m-%dT%H:%M:%SZ%Z%z"))
'0:00:23'

其實是23秒

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM