मैं किसी उपयोगकर्ता के लिए टाइमज़ोन प्राप्त करने का प्रयास कर रहा हूं।क्या समय क्षेत्र (केवल) देश कोड (वैध आईएसओ -3166 कोड) के साथ एक समय पाने का कोई तरीका है?
इसके लिए मेरे पास एक देश कोड है जो वैध आईएसओ देश कोड है। ये कोड ऊपरी-मामले हैं, आईएसओ -3166 द्वारा परिभाषित दो अक्षर कोड। आप इस तरह के रूप में साइटों, के एक नंबर पर इन कोड की एक पूरी सूची पा सकते हैं: http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
मुझे लगता है कि प्रतिक्रिया "है कोई, क्योंकि यह एक manytomany संबंध है ... वहाँ संयुक्त राज्य अमेरिका जैसे देश के लिए कई क्षेत्रों के बीच व्याप्त हो सकता है। .. "। यही समस्या है ...
मैं की तरह कुछ tryied है:
//CountryEnum contains ISO_3166 values (http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html)
//List all country to test timezone:
for (int i = 0; i < CountryEnum.values().length; i++) {
String isoCountryCode = CountryEnum.values()[i].name();// Get the iso country code
Locale locale = new Locale(isoCountryCode);// Build a country specific locale
Calendar calendar = Calendar.getInstance(locale);// Build a calendar with the specific locale
String timeZone = calendar.getTimeZone().getDisplayName();// Build a timeZone with the calendar
System.out.println("LOCALE : "+locale+"/COUNTRY: "+isoCountryCode+"/TIMEZONE: "+timeZone);
}
लेकिन यह हमेशा सर्वर समयक्षेत्र लौट ...
कोई भी विचार?
दिलचस्प है , एक ही समय क्षेत्र पर अन्य बड़े देश हैं; भारत और चीन दोनों इस श्रेणी में आते हैं। भारत आम तौर पर दो समय क्षेत्रों को कवर करेगा; चीन 4 समय क्षेत्रों को कवर करेगा। –
हाँ - कुछ देशों में जब यह समय क्षेत्रों :) –
विवेक की बात आती है समझदार होने के लिए चुना है - हाँ; एक तरह का लेकिन चीन में, अगर पूर्वी तट पर सुबह 5 बजे सूरज उगता है, तो गोबी रेगिस्तान के पश्चिमी किनारे पर सुबह 8 बजे तक नहीं बढ़ता है। और यदि यह पूर्वी तट पर 7 बजे सेट होता है, तो यह पश्चिम में 10 बजे तक सेट नहीं होता है। –