-
MySQL में समय क्षेत्र समर्थन के बारे में पढ़ें , और सुनिश्चित करें कि आपका MySQL डेटाबेस वर्तमान समय क्षेत्र तालिकाओं के साथ कॉन्फ़िगर किया गया है। नियमित रूप से अपडेट करें।
-
प्रत्येक स्थान को एक नामित IANA/Olson समय क्षेत्र के साथ संबद्ध करें, जैसे
"अमेरिका/लॉस_एंजेल्स"
, या"यूरोप/लंदन"
. यहां दी गई सूची देखें . यदि आपके पास lat/lon है, तो आप इन विधियों में से एक के माध्यम से समय क्षेत्र देख सकते हैं। । -
MySQL
CONVERT_TZ
वर्तमान UTC समय को विशिष्ट क्षेत्र में बदलने के लिए कार्य करता है। उदाहरण के लिए,CONVERT_TZ(UTC_TIMESTAMP(),'UTC','Asia/Tokyo')
-
रूपांतरित . के सप्ताह के दिन और दिन के समय का उपयोग करें स्थान की प्रविष्टि में दिन और सीमा के विरुद्ध जाँच करने का समय।
साथ ही, ध्यान दें कि अन्य लोग सुझाव दे सकते हैं कि डेटाबेस में केवल यूटीसी को संग्रहीत करने का तरीका अपनाया जाए, या "अभी" मान की तुलना करने से पहले सभी मानों को यूटीसी में परिवर्तित किया जाए। उन तरीकों में से कोई भी किनारे के मामलों में विफल हो सकता है, क्योंकि यूटीसी दिन-दर-सप्ताह जरूरी नहीं कि प्रत्येक समय क्षेत्र में समान दिन-सप्ताह हो।
एक और तरीका जो करेगा कार्य, लेकिन अधिक प्रयास करता है, भविष्य में कुछ समय के लिए विशिष्ट यूटीसी के प्रारंभ और रुकने के समय को पूर्व निर्धारित करना है (कम से कम अगले एक के लिए, लेकिन शायद आगे)। फिर आप इस सूची को UTC समय के साथ स्कैन कर सकते हैं। यह बड़े पैमाने पर बेहतर काम करता है, जब आपके पास जांच करने के लिए हजारों या अधिक व्यक्तिगत प्रविष्टियां हों। लेकिन छोटे पैमाने पर, यह आमतौर पर ओवरहेड के लायक नहीं होता है।
इसी तरह, आपके पास एक पृष्ठभूमि प्रक्रिया हो सकती है जो प्रत्येक रिकॉर्ड पर "अब खुला" ध्वज सेट करती है, लेकिन इसे लगातार आपके डेटाबेस के खिलाफ काम करना होगा, और आप कभी भी "अभी" के अलावा अन्य समय की जांच नहीं कर सकते।