2012-11-13 20 views
7

मैं कैसे बता सकता हूं कि स्थानीय समय मौजूद नहीं है? मैं pytz के साथ कोशिश कर रहा हूँ, लेकिन यह एक अस्पष्ट टाइमर त्रुटि है, नॉनएक्सिस्टेंट टाइम त्रुटि।पायथन पायट्ज़: गैर-अस्तित्व का समय अस्पष्ट टाइम्स त्रुटि प्राप्त करता है, नॉनएक्सिस्टेंटटाइम एरर

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' 

उपयोगकर्ता मुझे एक फॉर्म के माध्यम से दिनांक और समय के साथ आपूर्ति करता है। ये स्थानीय समय में हैं और मुझे यह देखने की ज़रूरत है कि तिथियां और समय ठीक हैं या नहीं।

मैं USE_TZ = True के साथ Django का उपयोग कर रहा हूं, लेकिन मुझे नहीं लगता कि यह यहां मायने रखता है।

+0

'pytz' मॉड्यूल का कौन सा संस्करण यह है? मैं वास्तव में 'NonExistentTimeError' अपवाद है। –

+0

संस्करण 2006 पी। आपका क्या है? – user984003

+0

मैं दूसरे जवाब से देखता हूं कि मेरा संस्करण वास्तव में पुराना है। मैंने इसे दो दिन पहले यहां डाउनलोड किया: http://sourceforge.net/projects/pytz/ मैं नए के लिए चारों तरफ देखूंगा। – user984003

उत्तर

7

अपने 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 

उपयोग pip install -U pytz या easy_install -U pytz उन्नत करने के लिए।

+0

मेरा 2006 है। यह वास्तव में पुराना है। मैंने इसे दो दिन पहले यहां डाउनलोड किया था: http://sourceforge.net/projects/pytz/ यह उस स्थान की तरह लग रहा था जिसमें अपडेट किया गया एक होगा। मैं नए के लिए चारों ओर देखता हूँ। – user984003

+2

इसके बजाए http://pypi.python.org/pypi/pytz/ (पायथन पैकेज इंडेक्स) से इसे डाउनलोड करें। –

+0

सुनिश्चित नहीं है कि यह स्वीकार्य उत्तर होना चाहिए। यह कुछ के लिए मदद कर सकता है, लेकिन मेरा संस्करण 2017.2 है और मुझे यह 'pytz.exceptions.AmbiguousTimeError: 2015-11-01 01: 10: 07' – shacker

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^