Làm thế nào tôi có thể biết nếu một thời gian địa phương là không tồn tại? Tôi đang thử với pytz, nhưng nó ném một AmbiguousTimeError, không phải là một NonExistentTimeError.Python pytz: không tồn tại thời gian được AmbiguousTimeError, không NonExistentTimeError
2013-3-31 02:30 sẽ không bao giờ xảy ra ở Copenhagen do thời gian tiết kiệm ánh sáng ban ngày.
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"
Nó đi đến trình xử lý ngoại lệ. Tôi đã thử:
except pytz.NonExistentTimeError: #'module' object has no attribute 'NonExistentTimeError'
except pytz.exceptions.NonExistentTimeError: #'module' object has no attribute 'exceptions'
Người dùng cung cấp cho tôi ngày và giờ qua biểu mẫu. Đây là thời gian địa phương và tôi cần xem liệu ngày tháng và thời gian có ổn không.
Tôi đang sử dụng Django với USE_TZ = True
, nhưng tôi không nghĩ rằng vấn đề ở đây.
Phiên bản của mô-đun 'pytz' là gì? Tôi thực sự có ngoại lệ 'NonExistentTimeError'. –
phiên bản 2006p. Của bạn là gì? – user984003
Tôi thấy từ câu trả lời khác rằng phiên bản của tôi thực sự cũ. Tôi đã tải xuống nó hai ngày trước đây tại đây: http://sourceforge.net/projects/pytz/ Tôi sẽ xem xét cho phiên bản mới hơn. – user984003