【发布时间】:2012-11-02 04:45:13
【问题描述】:
如何判断当地时间是否不存在?我正在尝试使用 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"
它转到异常处理程序。我试过了:
except pytz.NonExistentTimeError: #'module' object has no attribute 'NonExistentTimeError'
except pytz.exceptions.NonExistentTimeError: #'module' object has no attribute 'exceptions'
用户通过表单向我提供日期和时间。这些是当地时间,我需要看看日期和时间是否合适。
我将 Django 与 USE_TZ = True 一起使用,但我认为这在这里并不重要。
【问题讨论】:
-
pytz模块是什么版本的?我确实有NonExistentTimeError异常。 -
2006p 版。你的是什么?
-
我从另一个答案中看到我的版本真的很旧。我两天前在这里下载了它:sourceforge.net/projects/pytz我会四处寻找更新的。
-
如我的回答中所列:
2012d。你落后了 6 年。 :-P