गाइड

ऐसा समय क्षेत्र पिकर बनाएँ जो डिफ़ॉल्ट रूप से विज़िटर का समय क्षेत्र चुने

अपना समय क्षेत्र ढूँढने के लिए समय क्षेत्रों के नामों की सूची में स्क्रॉल करना एक छोटी-सी परेशानी है, जिसे एक समझदार डिफ़ॉल्ट लगभग हर किसी के लिए दूर कर देता है।

समय क्षेत्र का पता लगाना

/v1/ip एंडपॉइंट सीधे timezone फ़ील्ड लौटाता है, इसलिए एक ही कॉल से आपको लोकेशन और समय क्षेत्र पहचानकर्ता दोनों साथ मिल जाते हैं, timezone एंडपॉइंट को अलग कॉल किए बिना।

GET /v1/ip?ip=203.0.113.88
{
  "status": "ok",
  "ip": "203.0.113.88",
  "version": 4,
  "found": true,
  "country": "Australia",
  "country_code": "AU",
  "region": "New South Wales",
  "city": "Sydney",
  "postcode": "2000",
  "lat": -33.8688,
  "lon": 151.2093,
  "timezone": "Australia/Sydney",
  "asn": 7890,
  "org": "Example Networks"
}

पिकर में पहले से चुनना

इस रिस्पॉन्स की timezone वैल्यू को अपने सेटिंग्स फ़ॉर्म में चुने हुए विकल्प के रूप में तब सेट करें जब फ़ॉर्म पहली बार रेंडर हो, सर्वर-साइड पर, पेज के विज़िटर तक पहुँचने से पहले। यह एक जैसा काम करता है, चाहे पिकर मानक समय क्षेत्र पहचानकर्ताओं का ड्रॉपडाउन हो या खोजने योग्य सूची, क्योंकि जो वैल्यू आप पहले से चुन रहे हैं वह उदाहरण वाली जैसी एक मानक पहचानकर्ता स्ट्रिंग ही है।

दूसरा उदाहरण: एक बुकिंग में कई लोग

एक से ज़्यादा यात्रियों की जानकारी लेने वाले यात्रा या इवेंट बुकिंग फ़ॉर्म के लिए बेहतर है कि फ़ॉर्म भरने वाले व्यक्ति के लिए एक बार समय क्षेत्र पता किया जाए, फिर हर यात्री के लिए दोबारा लुकअप करने के बजाय उसे हर यात्री प्रविष्टि के साझा डिफ़ॉल्ट के रूप में लागू किया जाए। हर यात्री का फ़ील्ड अलग से बदलने योग्य रहता है, क्योंकि ग्रुप बुकिंग में अक्सर ऐसे लोग होते हैं जो फ़ॉर्म भरने वाले से अलग समय क्षेत्र से जुड़ रहे होते हैं।

विज़िटर को इसे बदलने देना

समय क्षेत्र पिकर इसीलिए होता है क्योंकि IP पर आधारित पहचान हमेशा सही नहीं होती, खासकर VPN पर या यात्रा कर रहे विज़िटर के लिए। फ़ील्ड को हमेशा बदलने योग्य रखें और विज़िटर जो भी स्पष्ट रूप से चुने, उसे पहचाने गए डिफ़ॉल्ट के ऊपर सहेजें, और अगली विज़िट पर दोबारा पहचान करके उसकी पसंद को न बदलें।

एक आम गलती जिससे बचना चाहिए

यह न मानें कि कोई बड़ा देश एक ही समय क्षेत्र से जुड़ा है, सिर्फ़ इसलिए कि आपके उदाहरण लुकअप में संयोग से एक साफ़ पहचानकर्ता दिखता है। कई समय क्षेत्रों में फैले देश वही खास समय क्षेत्र लौटाएँगे जो विज़िटर की असली लोकेशन से मेल खाता हो, और यही वह बारीकी है जो IP पर आधारित पहचान को देश-स्तर के अनुमान से ज़्यादा उपयोगी बनाती है, लेकिन तभी जब आपका फ़ॉर्म पूरे देश के लिए एक डिफ़ॉल्ट समय क्षेत्र रखने के बजाय लौटाए गए खास पहचानकर्ता पर भरोसा करे।

एक बार पता करें, हर विज़िट पर नहीं

पहचान एक बार चलाएँ, जब विज़िटर पहली बार अपना अकाउंट या प्राथमिकताएँ सेट करे, और नतीजा सहेज लें। हर लॉग इन पर इसे दोबारा चलाने से बिना किसी फ़ायदे के अनुरोध बर्बाद होंगे, क्योंकि विज़िटर का चुना हुआ समय क्षेत्र, एक बार सोच-समझकर सेट होने के बाद, तब तक बना रहना चाहिए जब तक वह खुद उसे न बदले।

अगर आपके पास IP पते के बजाय खास निर्देशांक हैं, जैसे विज़िटर का टाइप किया हुआ डिलीवरी पता, तो /v1/timezone अक्षांश और देशांतर से सीधे समय क्षेत्र निकालता है और एक खास timestamp भी ले सकता है, जो तब उपयोगी है जब आपको अभी के बजाय किसी खास पल पर लागू समय क्षेत्र जानना हो।

इसकी लागत क्या है

हर नए अकाउंट या प्राथमिकता सेटअप पर एक लुकअप यानी एक अनुरोध। रोज़ लगातार नए उपयोगकर्ता जोड़ने वाली सेवा भी, केवल इस सुविधा के लिए, हर कुंजी के साथ शामिल या बिना कुंजी के एक पते से उपलब्ध 2,500 प्रतिदिन मुफ़्त अनुरोधों के भीतर आराम से रहती है।

समय क्षेत्र पिकर के लिए सही संतुलन यही है कि एक समझदार डिफ़ॉल्ट पता किया जाए और फिर रास्ते से हट जाया जाए। फ़ील्ड की पूरी जानकारी IPv4 लुकअप दस्तावेज़ और timezone लुकअप दस्तावेज़ में है।