use*_*003 8 python timezone pytz
如何判断当地时间是否不存在?我正在尝试使用pytz,但它会抛出一个AmbiguousTimeError,而不是NonExistentTimeError.
由于夏令时,2013-3-31 02:30将永远不会在哥本哈根发生.
local_tz = timezone('Europe/Copenhagen')
try:
non_e = local_tz.localize(datetime.datetime(2013, 3, 31, 2, 30), is_dst = None)
except pytz.AmbiguousTimeError:
print "AmbiguousTimeError"
Run Code Online (Sandbox Code Playgroud)
它转到异常处理程序.我试过了:
except pytz.NonExistentTimeError: #'module' object has no attribute 'NonExistentTimeError'
except pytz.exceptions.NonExistentTimeError: #'module' object has no attribute 'exceptions'
Run Code Online (Sandbox Code Playgroud)
用户通过表单向我提供日期和时间.这些是在当地时间,我需要看看日期和时间是否正常.
我正在使用Django USE_TZ = True
,但我认为这不重要.
升级你的pytz
包裹.这适用于我的版本2012d
,例如:
>>> import pytz, datetime
>>> pytz.__version__
'2012d'
>>> local_tz = pytz.timezone('Europe/Copenhagen')
>>> local_tz.localize(datetime.datetime(2013, 3, 31, 2, 30), is_dst=None)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pytz/tzinfo.py", line 327, in localize
raise NonExistentTimeError(dt)
pytz.exceptions.NonExistentTimeError: 2013-03-31 02:30:00
Run Code Online (Sandbox Code Playgroud)
使用pip install -U pytz
或easy_install -U pytz
升级.
归档时间: |
|
查看次数: |
4610 次 |
最近记录: |