मुझे लगता है कि आप जीएमटी (यूटीसी) के साथ सही रास्ते पर हैं। जब भी आपके पास कुछ घटना होती है (या हुआ है) एक विशिष्ट पॉइंट-इन-टाइम पर आपके कैननिकल टाइमस्टैम्प प्रतिनिधित्व के रूप में यूटीसी का उपयोग करें। यूटीसी डीएसटी नियमों से अप्रभावित है, इसलिए यह एक महान, स्पष्ट बिंदु-समय-समय पर प्रतिनिधित्व के रूप में कार्य करता है।
एक बार जब आप घटना दिनांक/समय के स्पष्ट प्रतिनिधित्व के लिए एक रणनीति है, तो आप बहुत आसानी से की समस्या किस समय क्षेत्र सबसे अधिक उपयुक्त अपने उपयोगकर्ताओं से स्वीकार करने के लिए बनाता है के आधार पर स्थानीयकृत तारीख/बार हल कर सकते हैं (या उन्हें प्रदर्शित करें)। आपको शायद घटना के समय क्षेत्र को जानने और स्टोर करने की आवश्यकता है, लेकिन, क्योंकि आप यूटीसी में वास्तविक घटना दिनांक/समय संग्रहीत कर रहे हैं, तो आप इसे उपयोगकर्ता के समय क्षेत्र में आसानी से स्थानांतरित कर सकते हैं यदि यह अधिक प्रासंगिक है किसी दिए गए उपयोग मामले में उनके लिए।
यह स्थानीयकरण आमतौर पर आपके एसडीके द्वारा प्रदान की जाने वाली समय क्षेत्र लाइब्रेरी के साथ किया जाता है (उदा। जावा में जावा.यूटिल कैलेंडर) या तृतीय पक्ष एक्सटेंशन (जैसे पायथन के पास pytz है)। मुझे यकीन है कि PHP के बराबर है, लेकिन मैं इसके पुस्तकालयों से परिचित नहीं हूं।
ये पुस्तकालय आमतौर पर Olson Zoneinfo DB जैसे नियम डेटाबेस के शीर्ष पर बनाए जाते हैं। ये नियम काफी बार बदल सकते हैं, इसलिए आपको अंतर्निहित डेटाबेस के अपडेट के शीर्ष पर रहना होगा, खासकर यदि आप वास्तव में वैश्विक एप्लिकेशन विकसित कर रहे हैं। हालांकि, वे गूढ़, घबराहट समय क्षेत्र के नियमों को बाहरी करने का अच्छा काम करते हैं ताकि आप (सिद्धांत में) नियमों को अद्यतन कर सकें, बिना आपके रनटाइम पर्यावरण का बड़ा अपग्रेड करना होगा या डीएसटी नियमों में महत्वपूर्ण कोड परिवर्तन करना होगा विशेष क्षेत्र परिवर्तन।
यह दुनिया में सबसे आसान समस्या नहीं है और हमें यह करना है कि हमें इसे करना है, लेकिन एक बार जब आप इसे दो बार कर चुके हैं और सटीक बिंदु-समय-समय पर प्रतिनिधित्व बनाम चिंता के बीच चिंताओं को अलग करते हैं स्थानीयकरण के बाद, यह दूसरी प्रकृति बन जाती है।
स्रोत
2009-02-19 20:23:27
क्या आपको इसे सटीक समय पर या किसी भी समय चलाने के लिए कुछ अंतराल में नियमित रूप से चलाने की आवश्यकता है? – dusoft
सप्ताह का दिन (दिन, महीना और वर्ष नहीं), टाइमज़ोन (शेड्यूल की तुलना में अलग-अलग समय क्षेत्र में पीपीएल?), और डीएसटी? यह mysql में संग्रहीत है? – OIS