मैं Joda Time का उपयोग कर स्थानीय तिथि को यूटीसी में बदलने की कोशिश कर रहा हूं। मैंने जो कोड इस्तेमाल किया है वह नीचे दिखाया गया है और यह बहुत अच्छा काम करता है।जोडाटाइम: स्थानीय रूप से यूटीसी अस्पष्टता में कनवर्ट करें
Date localDate = new Date();
System.out.println("Local Date : " + localDate);
DateTimeZone tz = DateTimeZone.getDefault();
Date utcDate = new Date(tz.convertLocalToUTC(localDate.getTime(), false));
System.out.println("UTC Date : " + utcDate);
Output :
Local Date : Wed May 29 11:54:46 EEST 2013
UTC Date : Wed May 29 08:54:46 EEST 2013
लेकिन, अगर मैं DateTimeZone.convertLocalToUTC() विधि को पैरामीटर के रूप यूटीसी तिथि भेजने के लिए, यह भी 3. द्वारा घंटे कम हो जाती है हालांकि, बाद से यह यूटीसी तिथि है, मैं इसे फिर से तारीख कन्वर्ट करने के लिए नहीं की उम्मीद है। क्या यह बग है या मैं कुछ भूल गया हूं?
Date localDate = new Date();
System.out.println("Local Date : " + localDate);
DateTimeZone tz = DateTimeZone.getDefault();
Date utcDate = new Date(tz.convertLocalToUTC(localDate.getTime(), false));
System.out.println("UTC Date : " + utcDate);
Date utcDate2 = new Date(tz.convertLocalToUTC(utcDate.getTime(), false));
System.out.println("UTC Date 2 : " + utcDate2);
Output :
Local Date : Wed May 29 11:54:46 EEST 2013
UTC Date : Wed May 29 08:54:46 EEST 2013
UTC Date 2 : Wed May 29 05:54:46 EEST 2013