【发布时间】:2018-03-25 22:39:09
【问题描述】:
>>> import dateutil.parser, dateutil.tz as tz
>>> dateutil.parser.parse('2017-08-09 10:45 am').replace(tzinfo=tz.gettz('America/New_York'))
datetime.datetime(2017, 8, 9, 10, 45, tzinfo=tzfile('/usr/share/zoneinfo/America/New_York'))
这真的是我们应该为解析设置默认时区的方式吗?我已经阅读了 parser 和 examples 的文档,但我似乎找不到任何内容,“这是如何为 dateutil.parser.parse 设置默认时区”,甚至没有类似的内容。
因为当这个工作时,如果提供了区域,在某些情况下它会做错事。这是否意味着我们应该这样做?
>>> d = dateutil.parser.parse('2017-08-09 10:45 am +06:00')
>>> d = d.replace(tzinfo=d.tzinfo or tz.gettz('America/Chicago'))
因为那也很笨重。
解析时设置默认时区的推荐方法是什么?
【问题讨论】:
-
您也可以使用
default参数,将其设置为带有时区的日期时间。
标签: python datetime timezone python-dateutil