python - 如何在Python 2.7中计算两个时间字符串与时区的差异?

标签 python parsing datetime timezone timedelta

我有两个字符串

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()

关于python - 如何在Python 2.7中计算两个时间字符串与时区的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20119195/

相关文章:

lua 脚本中天数之后的日期

python,selenium,将换行符发送到 tinymce

java - 在java中解析带有尾随垃圾的 float

python - 在 python pandas 中的数据帧上执行 groupby 时如何保留具有空(nan)单元格的行

C# 使用 HTML Agility Pack 解析隐藏字段

Ruby - GCC 的依赖文件解析优化

javascript - ASP.NET MVC Controller / View 显示本地时间

tsql - t-sql 将 datetimeoffset 转换为 utc+01 :00 to local amsterdam datetime

python - django 开发服务器,将 header 添加到静态文件

python - 使用 printf 在 bash 中导出不起作用