मुझे जावा टाइमज़ोन के साथ कोई समस्या है, अगर कोई मेरी मदद कर सकता है।जेवीएम और टाइमज़ोन
मैं एक वेब अनुप्रयोग पर चल रहे हैं बिल्ला 5.5 (यकीन नहीं अगर यह प्रासंगिक है), निम्नलिखित JVM संस्करण
[[email protected] bin]$ java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
[[email protected] bin]$
प्रणाली की तारीख है साथ, कहते हैं -
[[email protected] bin]$ date
Mon Aug 15 09:09:46 EST 2011
के भीतर वेब एप्लिकेशन, मैं एक निश्चित बिंदु पर Calendar.getInstance().getTime()
पर कॉल करता हूं, और मैं लॉग में इस टाइमस्टैम्प को प्रिंट करता हूं।
समस्या यह है कि यह टाइमस्टैम्प ईडीटी में वापस आ जाता है, हालांकि सर्वर का समय ईएसटी में है। इस कारण से, लौटाई गई तारीख 1 घंटे बाद की जानी चाहिए।
जो मैं प्राप्त करना चाहता हूं वह Calendar.getInstance().getTime()
को सिस्टम के समान समय क्षेत्र में एक तिथि वापस करने के लिए बनाता है।
मैंने मंचों की खोज की है, और कुछ सुझाव मिले हैं कि जेवीएम सिस्टम के टाइमज़ोन को सही ढंग से नहीं पढ़ रहा है। मैंने -Duser.timezone=EST
पैरामीटर के साथ टॉमकैट शुरू करने का प्रयास किया है, लेकिन सिस्टम ईडीटी टाइमज़ोन में टाइमस्टैम्प लौटता रहता है। कृपया ध्यान दें - एक गैर-अनुमान पैरामीटर के साथ -Duser.timezone
का प्रयास करना प्रतीत होता है। समस्याएं एक अलग प्रकृति की प्रतीत होती हैं।
मेरा मुद्दा किसी भी तरह this SO question के समान है। हालांकि, मैं केवल उसी समय क्षेत्र में तारीख प्राप्त करने की कोशिश कर रहा हूं क्योंकि सिस्टम किसी भी विशेष हैंडलिंग के बिना है।
क्या आप मदद कर सकते हैं?
ध्यान रखें कि यदि आप केवल वर्तमान समय के साथ डेट ऑब्जेक्ट की तलाश में हैं तो आप कैलेंडर का उपयोग करने के बजाय नई तिथि() को कॉल कर सकते हैं। हालांकि आपको डिफ़ॉल्ट टाइमज़ोन सेट करके मॉरिसियो की सलाह का पालन करना होगा। – jpredham
आप शायद पहले ही जानते हैं, लेकिन ईडीटी और ईएसटी डीएसटी के साथ/बिना एक ही समय क्षेत्र हैं। अगस्त आमतौर पर ईडीटी है, इसलिए _practically_ अमेरिका में अगस्त में कोई ईएसटी नहीं है। http://en.wikipedia.org/wiki/Eastern_Time_Zone – Nivas
हां, मुझे लगता है कि समस्या उस से संबंधित हो सकती है, क्योंकि -Duser.timezone = उदाहरण के लिए एईटी काम करता है। हालांकि मैं कामकाज करने की बजाय इस समस्या के लिए स्थायी फिक्स की तलाश में हूं। – Andrei