【发布时间】:2012-05-21 11:59:55
【问题描述】:
我正在使用dateutil 库来解析一些日期字符串,并得到奇怪的结果。我假设以下日期字符串都是相等的,括号中的时区缩写实际上是可选的,但删除它会给我一个完全不同的值:
import datetime
import dateutil.parser
parsed_d1 = dateutil.parser.parse('Sun May 13 2012 00:00:00 GMT-0400 (EDT)')
parsed_d2 = dateutil.parser.parse('Sun May 13 2012 00:00:00 GMT-0400')
parsed_d3 = dateutil.parser.parse('Sun May 13 2012 00:00:00-0400')
print str(parsed_d1)
print str(parsed_d2)
print str(parsed_d3)
输出:
2012-05-13 00:00:00-04:00
2012-05-13 00:00:00+04:00
2012-05-13 00:00:00-04:00
谁能解释这里发生了什么?
【问题讨论】:
-
第一个和最后一个是一样的,所以问题只是第二个不同?
-
正确-第二个是麻烦
-
您使用的是哪个版本?可能是库中的错误,您检查错误报告了吗?我记得 php lib 遇到过这种类型的问题,结果发现时区解析器有问题
-
我注意到您将 EDT 放在第一个日期时间字符串的末尾。那是您/您的计算机当前设置的位置吗?我认为您不需要 GMT。
-
我的结果不同,相同的代码:
2012-05-13 00:00:00+04:00 2012-05-13 00:00:00+04:00 2012-05-13 00:00:00-04:00
标签: python datetime timezone python-dateutil