YourWorldTime

UTC के वे अंतर जो पूरे घंटों के नहीं हैं

· 5 मिनट पठन

दुनिया का लगभग पाँचवाँ हिस्सा ऐसे अंतर पर रहता है जो UTC से पूरे घंटों का नहीं है। इसके विपरीत मानने वाला सॉफ़्टवेयर उन लोगों के लिए ज़रा-सा नहीं, बल्कि 30 या 45 मिनट ग़लत होता है, जो और बुरा है।

चौबीस घंटेवार क्षेत्रों की मानसिक तस्वीर एक महँगे ढंग से ग़लत है: वह ऐसा कूट पैदा करती है जो एक अरब से कहीं अधिक लोगों के लिए पूरे आत्मविश्वास के साथ 30 या 45 मिनट चूकता है। पूरे घंटे की भूल कम-से-कम भूल जैसी दिखती है। पैंतालीस मिनट की भूल टंकण-त्रुटि जैसी दिखती है, और उत्पाद के साथ चली जाती है।

पूरी सूची

:30 पर अंतर

अंतर कहाँ
UTC-09:30 मार्केसस द्वीपसमूह
UTC-03:30 न्यूफ़ाउंडलैंड और लैब्राडोर
UTC+03:30 ईरान
UTC+04:30 अफ़ग़ानिस्तान
UTC+05:30 भारत, श्रीलंका
UTC+06:30 म्यांमार, कोकोस द्वीपसमूह
UTC+09:30 मध्य ऑस्ट्रेलिया — उत्तरी प्रदेश, दक्षिण ऑस्ट्रेलिया
UTC+10:30 लॉर्ड हाउ द्वीप (मानक समय)

:45 पर अंतर

अंतर कहाँ
UTC+05:45 नेपाल
UTC+08:45 दक्षिण-पूर्वी पश्चिमी ऑस्ट्रेलिया (यूक्ला, अनौपचारिक रूप से)
UTC+12:45 चैथम द्वीपसमूह (मानक समय)

अकेला भारत ही 1.4 अरब लोग हैं। ईरान, अफ़ग़ानिस्तान, म्यांमार, श्रीलंका और नेपाल जोड़िए तो आप ग्रह के पाँचवें हिस्से से आगे निकल जाते हैं — ऑस्ट्रेलिया या कनाडा गिनने से पहले ही।

असामान्य अंतर का दूसरा प्रकार

पूरे घंटों के न होने वाले अंतर सुपरिचित विचित्रता हैं। दो और बातें उतनी ही महत्त्वपूर्ण हैं।

परास 24 नहीं, 26 घंटे का है। किरिबाती का किरितिमाती UTC+14 पर है; बेकर और हाउलैंड द्वीप UTC-12 पर। यह 26 घंटे का फैलाव है, यानी ऐसे क्षण होते हैं जब पृथ्वी पर कहीं-न-कहीं तीन अलग-अलग कैलेंडर तिथियाँ एक साथ चल रही होती हैं। जो कूट यह मानकर चलता है कि दो दिन की खिड़की सब क्षेत्रों को समेट लेती है, वह दिन में दो बार ग़लत रहता है।

दिवाप्रकाश बचत हमेशा एक घंटे की नहीं होती। लॉर्ड हाउ द्वीप, लगभग 380 की स्थायी आबादी वाला छोटा-सा ऑस्ट्रेलियाई द्वीप, 30 मिनट खिसकता है: जाड़े में UTC+10:30, गर्मियों में UTC+11:00। ऐसा करने वाला पृथ्वी पर वही अकेला स्थान है, और यह किसी तिथि-लाइब्रेरी के लिए सर्वोत्तम परीक्षण-प्रकरण है — जो भी कार्यान्वयन 60 मिनट का खिसकाव जड़ देता है वह वहाँ ग़लत और कहीं और नहीं, यानी वह आपके लिखे बाक़ी हर परीक्षण में उत्तीर्ण होगा।

क्या टूटता है

निकटतम घंटे तक पूर्णांकन। सबसे आम विफलता। जो कूट अंतर को पूर्णांक घंटों में गिनता है वह भारत को चुपचाप +5 पर काट देता है, जो देश के हर उपयोक्ता के लिए 30 मिनट की भूल है।

अंतरों को पूर्णांक के रूप में संचित करना। घंटों की गिनती के रूप में घोषित कोई स्तंभ काठमांडू को दर्शा ही नहीं सकता। यह प्रायः तब पता चलता है जब आँकड़े उसमें आ चुके होते हैं।

घंटा-स्तंभों पर बनी ग्रिड-अंतरापृष्ठ। जो भी कैलेंडर या नियोजक दिन को 24 बराबर ख़ानों में बाँटता है और मानता है कि हर क्षेत्र का स्थानीय घंटा ख़ाने की सीमा पर पड़ता है, वह आधे घंटे और 45 मिनट वाले क्षेत्रों को ग़लत जगह रखेगा। इस साइट के बैठक-नियोजक की पट्टी स्थानीय घंटों की जगह क्षणों को स्तंभ बनाती है, इसलिए +05:45 वाली पंक्ति उस स्तंभ में 09:45 दिखाती है जहाँ UTC वाली पंक्ति 04:00 दिखाती है — यही सच है, न कि कोई सुव्यवस्थित झूठ।

30 मिनट के मौसमी बदलाव के आर-पार अवधि-गणित। यह मानना कि दिवाप्रकाश बचत का संक्रमण ठीक 3,600,000 मिलीसेकंड का है, लॉर्ड हाउ द्वीप पर ग़लत उत्तर देता है — और केवल वहीं।

इसे सही करना

उपचार वही है जो लगभग हर समय-क्षेत्र दोष को ठीक करता है: अंतर स्वयं कभी मत गिनिए। मंच से पूछिए।

हर आधुनिक कार्यकाल-परिवेश IANA का डेटाबेस साथ लाता है और किसी दिए गए क्षण पर किसी क्षेत्र का अंतर मिनटों में, सही-सही बता देगा — काठमांडू और लॉर्ड हाउ समेत। जावास्क्रिप्ट में यह timeZoneName: 'longOffset' के साथ Intl.DateTimeFormat है, या क्षेत्र की दीवार-घड़ी पाठ की UTC से तुलना — यही तरीक़ा इस साइट का इंजन अपनाता है, क्योंकि वह 1900 से पहले के आँकड़ों में मिनट से भी छोटे स्थानीय माध्य समय के अंतरों तक के लिए सटीक बना रहता है।

फिर तीन नियमों पर टिके रहिए:

  1. अंतर मिनट होते हैं, घंटे कभी नहीं। यदि किसी चर का नाम offsetHours है, तो वह पहले ही एक दोष है।
  2. काठमांडू और लॉर्ड हाउ पर परखिए। ये उन दो मान्यताओं को तोड़ते हैं जिन्हें बाक़ी सब आपके पास रहने देता है।
  3. समय क्षेत्र को कभी पूर्णांकित मत कीजिए। यदि किसी प्रदर्शन को अनुमानित होना ही है तो वह कहिए; किसी विन्यास को आसान बनाने के लिए उपयोक्ता की घड़ी चुपचाप 30 मिनट मत खिसकाइए।

एक हल किया हुआ उदाहरण: 45 मिनट किसी ग्रिड के साथ क्या करते हैं

एक ऐसा बैठक-नियोजक लीजिए जो दिन को 24 स्तंभों में बाँटता है, हर घंटे के लिए एक, और हर प्रतिभागी के कार्य-घंटों को छायांकित करता है। भोला कार्यान्वयन हर पंक्ति की गणना आधार-पंक्ति को क्षेत्र के अंतर जितने घंटे खिसकाकर करता है।

लंदन बनाम न्यूयॉर्क के लिए यह चल जाता है: न्यूयॉर्क की पंक्ति लंदन की पंक्ति ही है, पाँच ख़ाने दाहिने खिसकी हुई। लंदन बनाम काठमांडू के लिए नहीं चलता। काठमांडू 5 घंटे 45 मिनट आगे है, यानी 5.75 ख़ाने, और ख़ाने का तीन-चौथाई जैसा कुछ होता नहीं। कार्यान्वयन पूर्णांकित करता है — प्रायः 6 पर — और अब उस पंक्ति का हर पाठ 15 मिनट जल्दी है।

भूल इतनी छोटी है कि समीक्षा से बच निकले, और इतनी बड़ी कि मायने रखे: 09:00 की जिस बैठक को ग्रिड काठमांडू के लिए 09:00 बताती है, वह वहाँ असल में 08:45 है, और जुड़ने वाला व्यक्ति अपने ही दिन में पंद्रह मिनट देर से पहुँचता है।

उपचार यह है कि स्तंभों को घंटा मानना बंद कीजिए। हर स्तंभ को एक क्षण बनाइए, और मंच से पूछिए कि उस क्षण हर क्षेत्र की स्थानीय दीवार-घड़ी क्या पढ़ती है। तब +05:45 वाली पंक्ति वहाँ 09:45 दिखाएगी जहाँ UTC वाली पंक्ति 04:00 दिखाती है — ग्रिड से स्पष्टतः बेमेल, और यही ईमानदार चित्रण है। इस साइट का बैठक-नियोजक ठीक यही करता है, और काठमांडू की पंक्ति का उखड़ा हुआ किनारा एक गुण है।

ऐतिहासिक अंतर तो और भी विचित्र हैं

मानकीकरण से पहले अंतर स्थानीय माध्य सौर समय थे और सेकंड तक सटीक। IANA का डेटाबेस उन्हें दर्ज रखता है।

नीदरलैंड 1909 से 1937 तक UTC+00:19:32.13 पर चला। लाइबेरिया 1972 तक UTC-00:44:30 पर था। किसी कार्यकाल-परिवेश से 1920 की किसी तारीख़ पर Europe/Amsterdam का अंतर पूछिए, वह आपको सेकंडों समेत सटीक मान देगा।

इसीलिए इस साइट के नीचे बैठा अंतर-फलन सेकंडों में गणना करता है और मिनटों तक पूर्णांकन केवल प्रदर्शन-स्तर पर करता है। मिनट संचित करने वाला इंजन डच इतिहास के 32 सेकंड चुपचाप खो देता — जिसे कोई नहीं लक्षता, और जो फिर भी ग़लत होता।