"+ एचएच: मिमी" और "-एचएच: मिमी" समय क्षेत्र नहीं हैं, वे यूटीसी ऑफ़सेट हैं। उनको बचाने के लिए एक अच्छा प्रारूप मिनटों में ऑफ़सेट के साथ एक हस्ताक्षरित पूर्णांक के रूप में हैं। आप interval
जैसी चीजों का भी उपयोग कर सकते हैं, लेकिन यह केवल तभी आपकी मदद करेगा यदि आप सीधे पोस्टग्रेएसक्यूएल में दिनांक गणना करना चाहते हैं, जैसे कि क्वेरी में, आदि। आमतौर पर हालांकि आप इन गणनाओं को किसी अन्य भाषा में करते हैं, और फिर यह उस भाषा पर निर्भर करता है interval
अच्छी तरह से टाइप करता है और इसकी अच्छी तिथि/समय लाइब्रेरी है या नहीं। लेकिन interval
के समान प्रकार में एक पूर्णांक को परिवर्तित करना, जैसे पायथन timedelta
छोटा होना चाहिए, इसलिए मैं इसे व्यक्तिगत रूप से केवल एक पूर्णांक के रूप में संग्रहीत करता हूं।
समय क्षेत्र के नाम हैं, और हालांकि समय क्षेत्र के लिए कोई मानकीकृत नाम नहीं हैं, "tz" या "zoneinfo" डेटाबेस में एक वास्तविक तथ्य है, और इसका नाम "यूरोप/पेरिस", "अमेरिका/न्यू_यॉर्क "या" यूएस/पैसिफ़िक "। उन तारों के रूप में संग्रहीत किया जाना चाहिए।
विंडोज "रोमांस टाइम" (पूछो मत) जैसे पूरी तरह से अलग-अलग नामों का उपयोग करता है। आप उन्हें तारों के साथ ही तारों को स्टोर कर सकते हैं, लेकिन मैं इससे बचूंगा, इन नामों का उपयोग विंडोज के बाहर नहीं किया जाता है, और नामों का कोई मतलब नहीं है।इसके अलावा, विंडोज़ के अनुवादित संस्करण इन टाइमज़ोन के लिए अनुवादित नामों का उपयोग करते हैं, जिससे यह और भी बदतर हो जाता है।
"पीडीटी" और "ईएसटी" जैसे संक्षेप समय क्षेत्र के नाम के रूप में प्रयोग योग्य नहीं हैं, क्योंकि वे अद्वितीय नहीं हैं। चार (मुझे लगता है, या यह पांच था?) अलग-अलग समय क्षेत्रों को "सीएसटी" कहा जाता है, इसलिए यह उपयोग करने योग्य नहीं है।
संक्षेप में: समय क्षेत्र के लिए, नाम को एक स्ट्रिंग के रूप में संग्रहीत करें। यूटीसी ऑफ़सेट के लिए, ऑफसेट को मिनटों में एक हस्ताक्षरित पूर्णांक के रूप में स्टोर करें।
स्रोत
2012-12-12 13:31:46
क्या सभी समय क्षेत्रों के लिए कैननिकल टेक्स्ट स्ट्रिंग्स (ऑस्ट्रेलिया/सिडनी) का कोई लिंक है? – odigity
हां: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones – odigity
यदि आप प्रदर्शन + स्पेस सेविंग (और पोर्टेबिलिटी/लचीलापन को कम करने) को अनुकूलित करना चाहते हैं, तो tz डेटाबेस + enum अच्छा होगा –