2010-10-13 9 views
8

हाय मैं सैन एंटोनियो, टेक्सास के लिए टाइमज़ोन सेट करना चाहता हूं। कृपया कुछ मुझे बताएं कि मैं अपने जावा कोड में इसे कैसे सेट करूं।समय क्षेत्र जावा: सैन एंटोनियो, टेक्सास

मैं प्रारूप को कुछ हद तक अमेरिका/न्यूयॉर्क के लिए समान में यह चाहते

वर्तमान में मैं इस कोड का उपयोग कर रहा

TimeZone.getTimeZone("America/Denver"); 

लेकिन "अमेरिका/डेनवर" के लिए सही समय क्षेत्र होने के लिए प्रतीत नहीं होता सैन एंटोनियो, टेक्सास

उत्तर

9

सैन एंटोनियो के लिए, आप TimeZone.getTimeZone("US/Central")

का उपयोग करना चाहिए क्या तुम सच में "America/<City>" प्रारूप, सैन एंटोनियो हमें के सबसे करीब का उपयोग करने की जरूरत है शहर "America/Chicago" है।

आप इस का उपयोग कर सकते हैं अमेरिका के लिए सभी उपलब्ध विशिष्ट आईडी की सूची प्राप्त करने के लिए/केंद्रीय:

String[] values = TimeZone.getAvailableIDs(TimeZone.getTimeZone("US/Central").getRawOffset()); 

और फिर, यहाँ दोहरी जांच:

http://www.timeanddate.com/time/zones/

+0

डाउनवॉटर: क्यों? –

+0

टेक्सास @ लेयो होलंदा – lyndact

+0

एफवाईआई के लिए php timezones के बारे में क्या, 'java.util.TimeZone' पुरानी तारीख-समय कक्षाओं में से एक है जो अब विरासत, जावा.टाइम कक्षाओं द्वारा प्रदान की जाती है। उस वर्ग को ['ZoneId'] (https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html) और [' जोनऑफसेट'] (https: // दस्तावेज़ों द्वारा प्रतिस्थापित किया गया है। oracle.com/javase/8/docs/api/java/time/ZoneOffset.html)। –

0

मैं पूरी तरह अपने प्रश्न googled और मिल गया इस: http://www.few.vu.nl/~eliens/documents/java/jdk1.2-docs/docs/api/java/util/TimeZone.html

तुम भी प्राप्त कर सकते हैं एक टी एक समय क्षेत्र आईडी के साथ getTimeZone का उपयोग कर IimeZone। उदाहरण के लिए, प्रशांत मानक समय क्षेत्र के लिए समय क्षेत्र आईडी "पीएसटी" है। तो, आप के साथ एक पीएसटी समयक्षेत्र वस्तु प्राप्त कर सकते हैं: उपयोग करें:

TimeZone tz = TimeZone.getTimeZone("PST"); 
+1

दूसरी तरफ, यदि आप हाल के दस्तावेज़ों को देखते हैं तो आप देखेंगे: * ध्यान दें कि संक्षेप का समर्थन केवल जेडीके 1.1.एक्स संगतता के लिए है और पूर्ण नामों का उपयोग किया जाना चाहिए। * –

1

संबंधित विषय: How to handle calendar TimeZones using Java?

सैन एंटोनियो के लिए समय क्षेत्र:
स्टैंडर्ड समय क्षेत्र: UTC/GMT -6 घंटे
डेलाइट सेविंग टाइम: +1 घंटा
वर्तमान समय क्षेत्र ऑफसेट: UTC/GMT -5 घंटे
समय क्षेत्र संक्षिप्त नाम: CDT - केन्द्रीय डेलाइट समय

संपादित करें: इस लिंक अमेरिका/न्यू यॉर्क में प्रारूप के संबंध में बेहतर है: TimeZones in Java

2

सैन एंटोनियो → America/Chicago

सैन एंटोनियो के लिए आईएएनए समय क्षेत्र पहचानकर्ता America/Chicago है, shown on Time.is के रूप में।

java.time

आधुनिक तिथि-समय को संभालने के लिए जिस तरह से उपयोग करना java.time वर्गों के साथ है।

Instant कक्षा UTC में nanoseconds के संकल्प के साथ समयरेखा पर एक पल का प्रतिनिधित्व करती है।

Instant instant = Instant.now(); // Current moment in UTC. 

एक ZoneId लागू करें एक ZonedDateTime मिलता है।

ZoneId z = ZoneId.of("America/Chicago"); 
ZonedDateTime zdt = instant.atZone(z); 

बचें 3-4 पत्र क्षेत्र संक्षिप्त रूपों

continent/region जैसे America/Montreal, Africa/Casablanca, या Pacific/Auckland के प्रारूप में एक proper time zone name निर्दिष्ट करें।

कभी 3-4 पत्र संक्षिप्त नाम का उपयोग इस तरह के रूप EST या IST या के रूप में वे सच समय क्षेत्र नहीं, नहीं मानकीकृत, और यहां तक ​​कि अद्वितीय नहीं हैं (!)।

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


java.time

बारे java.time ढांचे जावा 8 और बाद में बनाया गया है। ये कक्षाएं परेशान पुराने legacyjava.util.Date, Calendar, & SimpleDateFormat जैसी समय-समय पर कक्षाएं प्रदान करती हैं।

Joda-Time प्रोजेक्ट, अब maintenance mode में, java.time कक्षाओं में माइग्रेशन की सलाह देता है।

और जानने के लिए, Oracle Tutorial देखें। और कई उदाहरणों और स्पष्टीकरणों के लिए स्टैक ओवरफ़्लो खोजें। विशिष्टता JSR 310 है।

जावा.टाइम कक्षाएं कहां प्राप्त करें?

  • Java SE 8, Java SE 9, और बाद में
    • में निर्मित।
    • एक बंडल कार्यान्वयन के साथ मानक जावा एपीआई का हिस्सा।
    • जावा 9 कुछ मामूली विशेषताओं और सुधारों को जोड़ता है।
  • Java SE 6 और Java SE 7
    • java.time कार्यक्षमता की ज्यादातर ThreeTen-Backport में जावा 6 & से 7 वापस भेजा गया है।
  • Android
    • ThreeTenABP परियोजना adapts ThreeTen-backport विशेष रूप से (जैसा कि ऊपर उल्लेख) Android के लिए।
    • How to use ThreeTenABP… देखें।

ThreeTen-Extra परियोजना अतिरिक्त कक्षाओं के साथ java.time फैली हुई है।यह परियोजना java.time के संभावित भविष्य के जोड़ों के लिए एक सिद्ध भूमि है। आपको यहां कुछ उपयोगी कक्षाएं मिल सकती हैं जैसे Interval, YearWeek, YearQuarter, और more

संबंधित मुद्दे