2012-09-03 18 views
6

मैं एक ऐप लिख रहा हूं, और उपयोगकर्ताओं को दिनांक और समय चुनने के लिए डेटाटाइम चयनकर्ता का उपयोग कर रहा हूं। जावास्क्रिप्ट में कुछ स्वरूपण के बाद, im इस तरह एक dateTime के साथ छोड़ दिया:django डेटटाइम के लिए सही प्रारूप क्या है?

2012-09-04 06:00 PM 

और Django फेंकता है और त्रुटि कह रही:

[u"'2012-09-04 06:00 PM' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."] 

Ive भी कोशिश की

2012-09-04 06:00PM 
2012-09-04 06:00 P.M. 
2012-09-04 06:00P.M. 

लेकिन कोई भाग्य। क्या कोई देख सकता है कि मैं यहाँ क्या कर रहा हूं? या पता है कि django क्या देख रहा है (अंग्रेजी में)?

+0

अगर आप किसी [Django प्रपत्र] है (https://docs.djangoproject.com/en/1.4/topics/forms/) अपना फॉर्म संभालने? यदि हां, तो देखते हैं कि यह कैसा दिखता है। – Chris

+0

कोई django फॉर्म, बस एक क्वेरी स्ट्रिंग का उपयोग करके, इसे पार्स कर रहा है, और परिणाम को डीबी में सहेज रहा है। – itcropper

उत्तर

22

के रूप में त्रुटि संदेश से कहा, यह YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] उम्मीद है, इस प्रकार निम्नलिखित मान्य मान हैं:

2012-09-04 06:00 
2012-09-04 06:00:00 
2012-09-04 06:00:00.000000 

# w/ optional TZ as timezone. 
2012-09-04 06:00Z # utc 
2012-09-04 06:00:00+0800 
2012-09-04 06:00:00.000000-08:00 
+0

क्या एमएम या अपराह्न के बीच अंतर करने के लिए वैसे भी है? – itcropper

+0

@ ईस्टबीस्ट मुझे 'डेटटाइमफ़िल्ल्ड' – okm

+2

के लिए डर नहीं है @ एस्टबीस्ट के लिए उचित होने के लिए, त्रुटि संदेश spec '...]] [TZ]' के साथ पूर्ण समय क्षेत्र स्वरूपण जानकारी प्रदान नहीं करता है। यह निर्दिष्ट नहीं करता है कि "यूटीसी" और "पीएसटी" '[TZ]' के लिए अमान्य मान हैं जबकि "Z", "-0800", और "-08: 00" मान्य मान हैं। – hobs

1

चारों ओर बात कर के बाद, मैं क्या पता लगा कोई AM/PM इनपुट है कि वहाँ है। मुझे बस यह जांचना पड़ा कि मेरी तिथि टाइमपिकर एएम या पीएम प्रत्यय लौट रही है, फिर time.split (":") पर कॉल करें; घंटों और मिनटों को तोड़ने के लिए, घंटों को एक स्ट्रिंग से int में परिवर्तित करें, फिर 12 घंटे के बजाय समय को 24 घंटे के समय में बदलने के लिए इसमें 12 जोड़ें। यह संभवतः इसे करने का एक आसान तरीका है, लेकिन यह मेरे लिए क्या काम करता है।

उदाहरण के लिए:

2012-09-04 06:00 PM पर

आवश्यकताओं होने के लिए

2012-09-04 18:00

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