2010-11-23 18 views
21

के लिए टाइमज़ोन की उपयोगकर्ता-अनुकूल सूची बनाना जावा से लौटाए गए टाइमज़ोन की सूची का एक स्निपेट नीचे है (मैंने टाइमडाउन ऑफसेट, टाइमज़ोन आईडी और लंबे नाम को जोडाटाइम का उपयोग करके मुद्रित किया है)।उपयोगकर्ता-प्राथमिकता

(GMT-10:00) HST, Hawaii Standard Time  
(GMT-10:00) Pacific/Apia, -10:00 
(GMT-10:00) Pacific/Fakaofo, Tokelau Time 
(GMT-10:00) Pacific/Honolulu, Hawaii Standard Time 
(GMT-10:00) Pacific/Johnston, Hawaii Standard Time 

क्या एचएसटी, प्रशांत/होनोलूलू, और प्रशांत/जॉनसन के बीच अंतर उदाहरण के लिए, है? वे सभी हवाई मानक समय का उपयोग करने लगते हैं, डेटाबेस में 3 प्रविष्टियां क्यों हैं?

  • मेरा अंतिम लक्ष्य वेब ऐप में उपयोगकर्ता वरीयताओं के लिए टाइमज़ोन की एक सूची बनाना है।

यदि मैं tzDatabase से सभी टाइमज़ोन का उपयोग करता हूं तो सूची लंबी होती है और प्रभावी डुप्लिकेट (ऊपर उदाहरण) दिखाई देती है। मैं सिर्फ "हवाई मानक समय" जैसे अनूठे लंबे फॉर्म-नामों को सूचीबद्ध कर सकता हूं, लेकिन फिर मुझे यह तय करने की ज़रूरत है कि इसे किसी भी समय क्षेत्र में किसी भी समय के लिए मैप करना है।

इस मामले में अन्य लोग क्या करते हैं? आप टाइमज़ोन की अच्छी उपयोगकर्ता-अनुकूल सूची कैसे बनाते हैं और उन्हें अपने प्रासंगिक जावा टाइमज़ोन में मानचित्रित करते हैं?

+0

कृपया लोकेल को देखें ... वे – Rajan

+0

भिन्न हैं, अच्छी राय, अच्छा विचार है, लेकिन मुझे लगता है कि अमेरिका के लिए केवल एक लोकेल है? और कुल में 6 टाइमज़ोन की तरह (हौई, अलास्का, प्रशांत, पहाड़, केंद्रीय, पूर्वी)। –

+0

hmmm nt यकीन है कि समस्या क्या है ... http://en.wikipedia.org/wiki/Lists_of_time_zones कुछ पतंग स्ट्राइक देखें ... – Rajan

उत्तर

14

मुझे लगता है कि आप यह मानते हैं कि "उपयोगकर्ता के अनुकूल" का अर्थ उन्हें एक छोटी सूची दिखाने का है। तथ्य यह है कि उन सभी समय क्षेत्रों का उपयोग किसी के द्वारा कहीं किया जाता है। वे आपके लिए समान दिख सकते हैं लेकिन वे अक्सर थोड़ा अलग व्यवहार करते हैं। मैं सास्काचेवान में रहता हूं और हमारे पास सीएसटी का अपना संस्करण है। लंबा नाम केवल "केंद्रीय मानक समय" है, लेकिन हम साल के आधे से डीएसटी का उपयोग नहीं करते हैं, हम असली सीएसटी के साथ लाइन नहीं करते हैं। सास्काचेवान का एक छोटा सा क्षेत्र भी है जिसमें उस समय 15 मिनट का अंतर होता है। भले ही वे समान प्रतीत होते हैं, वे अलग हैं और मुझे लगता है कि आपको उपयोगकर्ताओं को पूरी सूची से चयन करने की अनुमति देनी चाहिए।

की कोशिश समझदारी से छोटा सूची जब एक पसंदीदा मुद्रा चुनने के लिए उपयोगकर्ता की अनुमति के लिए सभी संभव मुद्रा कोड लिस्टिंग नहीं के बराबर हो सकता है। हां, केवल कुछ मुट्ठी भर लोग ही कुछ लोगों का उपयोग कर सकते हैं। निश्चित रूप से, वर्तमान में एक ही रूपांतरण दर के साथ कुछ हो सकते हैं। अंत में, उपयोगकर्ता को यह तय करने दें कि उनकी क्या देखभाल है।

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

Canada 
United States 
------------------ 
Argentina 
Australia 
... 

यह रणनीति भी अक्सर मुद्रा के अपने पिछले उदाहरण के लिए प्रयोग किया जाता है।यह समय-क्षेत्रों के लिए कुछ इस तरह दिख सकता है (आपका मुख्य उपयोगकर्ता आधार उत्तरी अमेरिका में है):

EST 
CST 
MST 
PST 
------------------ 
Hawaii 
Saskatchewan 
... 

हालांकि याद रखें, इस मैन्युअल रूप से, पूर्व निर्धारित करने के लिए क्या आम समय क्षेत्रों रहे हैं की आवश्यकता होगी ।

मुझे लगता है सबसे अच्छा तरीका है बस सभी समय क्षेत्र, हल कर सूची ऑफसेट द्वारा क्योंकि सबसे लोग जहां आधारित वहाँ क्षेत्र को खोजने के लिए पर ऑफसेट पता चल जाएगा। उदाहरण के लिए, मैं हमेशा "-6: 00" के लिए पहली बार देखता हूं, सास्काचेवान नहीं। उम्मीद है की यह मदद करेगा!

+1

यदि आप '