我想'以这种格式解析日期,但忽略字符串的一部分.'星期三,1770年10月27日22:17:00 GMT'从我收集的信息来看,datetime不能很好地支持时区.哪个好,我真的只想忽略字符串的时区部分,而不必对其进行字符串操作.有什么我可以用下面替换%Z来说"这里有任何字符串"并解析日期吗?另外,我不明白为什么它会解析PST,GMT等时区而不是EST.在任何情况下它似乎都不附加tzinfo,不确定它真正寻找%Z部分的字符串类型.
>>> import datetime
>>> y = datetime.datetime.strptime('Wed, 27 Oct 1770 22:17:00 GMT', '%a, %d %b %Y %H:%M:%S %Z')
>>> y = datetime.datetime.strptime('Wed, 27 Oct 1770 22:17:00 PST', '%a, %d %b %Y %H:%M:%S %Z')
>>> y = datetime.datetime.strptime('Wed, 27 Oct 1770 22:17:00 EST', '%a, %d %b %Y %H:%M:%S %Z')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/brazil-pkg-cache/packages/Python/Python-2.5.1.17.1/RHEL5_64/DEV.STD.PTHREAD/build/lib/python2.5/_strptime.py", line 331, in strptime
(data_string, format))
ValueError: time data did not match format: data=Wed, 27 Oct 1770 22:17:00 EST fmt=%a, %d %b %Y %H:%M:%S %Z
Run Code Online (Sandbox Code Playgroud)
注意:dateutil对我来说不是一个选项,我想支持多种格式,并且不能让dateutil意外地错误地解释日期.(即,当看到日期如01/02/2010,2月1日或1月2日时,dateutil似乎会猜测).我基本上只想尝试接受我在订单中指定的格式,直到我得到一个匹配.
我认为如果不进行字符串操作就不可能完全做到这一点,但也许这是一个选择。看看时间并尝试这样的事情:
datetime(*(time.strptime('Wed, 27 Oct 1770 22:17:00 GMT', '%a, %d %b %Y %H:%M:%S %Z')[0:5]))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16883 次 |
最近记录: |