मुझे समझाएं: मैं डेटाबेस में एक विशिष्ट डेटाटाइम टाइमज़ोन को स्टोर करने के उचित तरीके से नहीं पूछ रहा हूं। मैं टाइमज़ोन के बारे में बात कर रहा हूं। उदाहरण के लिए:डेटाबेस में टाइमज़ोन स्टोर करने का सही तरीका?
मेरे पास 'उपयोगकर्ता' नामक एक MySQL तालिका है। अब, इस तालिका पर, मैं एक कॉलम रखना चाहता हूं जिसमें उपयोगकर्ता जहां भी रहता है उसका टाइमज़ोन शामिल है (यह उपयोगकर्ता द्वारा प्रदान किया जाता है, इसे किसी सूची से चुना जाएगा)। मैं PHP, जो एक ऐसे समय क्षेत्र तार की सूची है साथ काम कर रहा हूँ:
अब स्पष्ट समाधान (कम से कम मेरे लिए), 'उन' तालिका में एक VARCHAR स्तंभ बनाने के लिए किया जाएगा , फिर कॉलम में PHP द्वारा उपयोग की जाने वाली टाइमज़ोन स्ट्रिंग को स्टोर करें।
अब जब मैं इसके बारे में सोचता हूं, तो मुझे लगता है कि मैं हमेशा उस डेटाबेस तालिका के साथ बातचीत करने के लिए PHP का उपयोग करूंगा, जो अब सच है, भविष्य में ऐसा नहीं हो सकता है। और (अगर मैं गलत हूं तो मुझे सही करें) PHP का टाइमज़ोन तार शायद अन्य प्रोग्रामिंग भाषाओं के लिए काम नहीं करता है, शायद अन्य भाषाओं में टाइमज़ोन हैंडलिंग के लिए अपने 'स्थिरांक' हैं।
डीबी कॉलम में उपयोगकर्ता के टाइमज़ोन वरीयता को सहेजने के लिए आप कैसे पहुंचेंगे? किसी भी विचार निश्चित रूप से सराहना की जाती है।
नोट: PHP के टाइमज़ोन के बारे में उपयोगी बात यह है कि, यदि डीएसटी प्रभावी है, तो भी वे स्वचालित रूप से इसे ध्यान में रखते हैं, जो कि कमाल है। तो आप केवल संख्यात्मक ऑफ़सेट संग्रहीत करने के बजाय उनका उपयोग करने में मेरी रूचि देख सकते हैं।
आप डेटाबेस में एक संख्यात्मक ऑफसेट स्टोर कर सकते हैं, और एक PHP "config" फ़ाइल बना सकते हैं जो संख्यात्मक ऑफ़सेट को PHP की टाइमज़ोन स्ट्रिंग में वापस मैप करें। – Passerby
@Passerby - एक ऑफ़सेट टाइमज़ोन नहीं है। ऐसे कई समय क्षेत्र हैं जो साल भर ऑफसेट बदलते हैं, और कई अलग-अलग टाइमज़ोन जो समान ऑफसेट साझा करते हैं। –
@MattJohnson आप किसी भी प्रारूप के ऑफ़सेट को स्टोर कर सकते हैं, जब तक कि आपका प्रोग्राम जानता है कि उन्हें वापस "अनुवाद" भाषा-विशिष्ट स्थिरांक में कैसे अनुवादित किया जाए। पूरे -8 जोन के लिए "-8" स्टोर करने के बजाय, आप कैलिफ़ोर्निया के लिए "-8.1" स्टोर कर सकते हैं, "-8.2" किसी अन्य स्थान के लिए (एक अमेरिकी नहीं, इसलिए ज्यादा नहीं पता :))। – Passerby