我有两个字符串
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!
答案 0 :(得分:2)
鉴于您的日期字符串格式相同。您可以通过从字符串中删除“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()
答案 1 :(得分:1)
>>> 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秒。