java - How to convert CET time to local time on device? -


मेरे पास तीन अलग-अलग समय हैं:

सर्वर पर समय - " बुध, 1 9 फरवरी 2014 11:44 सीईटी "

उपकरण पर समय की शुरूआत का समय -" 12: 00 एच "

उपकरण पर समय-" 13:49 "

मुझे डिवाइस पर प्रारंभिक मीटिंग का समय प्राप्त करने की आवश्यकता है ... यह->" 14: 00 एच "या बैठक करने का समय-> " 11m "

मैं इसका उपयोग करके इसे प्राप्त करने की कोशिश कर रहा हूं:

  लंबे ts = System.currentTimeMillis (); दिनांक स्थानीय समय = नया दिनांक (टीएस); स्ट्रिंग gmt_time = "12: 00 एच"; सरलडेट प्रारूप प्रारूप = नया सरलडेटफ़ॉर्मैट ("एचएच: mm'h '"); format.setTimeZone (TimeZone.getTimeZone ( "GMT")); दिनांक d_date = null; D_date = format.parse (gmt_time); format.setTimeZone (TimeZone.getTimeZone ( "यूटीसी")); दिनांक GMG = नई तिथि (d_date.getTime () + TimeZone.getDefault ()। GetOffset (स्थानीयटाइम.गेट टाइम ())); स्ट्रिंग new_date = format.format (fromGmt);  

लेकिन नया_डेट में परिणाम "15: 00 ह" है (मुझे " 14: 00 ह " की आवश्यकता है))

आप सीईटी = GMT पर बुध, 1 9 की धारणा सीएटी जीएमटी से एक घंटा आगे है

11:44 सीईटी का मतलब होगा 10:44 GMT P> इसलिए, जब आप जीएमटी समय और अपने स्थानीय समय से ऑफ़सेट की गणना करते हैं, तो इसमें एक घंटा लगता है।

बदलें format.setTimeZone (TimeZone.getTimeZone ("GMT")); < / कोड> से format.setTimeZone (टाइमज़ोन.गेट टाइम ज़ोन ("सीईटी")); और यह अपेक्षा के अनुरूप काम करना चाहिए।


Comments