मैं एंड्रॉइड ऐप के लिए कोड के इस टुकड़े के साथ थोड़ी देर के लिए संघर्ष कर रहा हूं और मुझे इसका लटका नहीं मिल सकता है। मैंने स्टैक ओवरफ्लो और अन्य स्थानों पर मिले हर समाधान को पढ़ और कोशिश की है, लेकिन अभी भी कोई भाग्य नहीं है।नैनोसेकंड के साथ स्ट्रिंग-डेट रूपांतरण
मैं जो करना चाहता हूं उसके पास "17.08.2012 05:35:19:7600000"
जैसे यूटीसी दिनांक और एक फ़ंक्शन जो UTC date
लेता है और उसे इस तरह की स्ट्रिंग में परिवर्तित करता है।
String value = "17.08.2012 05:35:19:7600000";
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss:SSSSSSS");
try
{
Date today = df.parse(value);
System.out.println("Today = " + df.format(today) + " " + today.toGMTString());
}
catch (ParseException e)
{
e.printStackTrace();
}
परिणामस्वरूप: Today = 17.08.2012 07:41:59:0000000 17 Aug 2012 04:41:59 GMT
जो दोनों गलत हैं।
मैंने SDF's timezone
को UTC
पर सेट करने की कोशिश की, कोई भाग्य नहीं।
एक और चीज जो मैंने देखा: यदि मैं df.setLenient(false);
यह मुझे देता है: java.text.ParseException: Unparseable date: "17.08.2012 05:35:19:7600000"
।
यदि कोई मुझे कुछ स्पष्टीकरण/नमूना कोड प्रदान कर सकता है, तो मैं बहुत आभारी रहूंगा। अग्रिम धन्यवाद
धन्यवाद! SetTimeZone (TimeZone.getTimeZone ("UTC") के बाद) सब ठीक हो गया। मिलीसेकंड के बारे में, मुझे लगता है कि मैं उन्हें 0 पर रीसेट कर दूंगा। ऐसा मत सोचो कि यह मेरे मामले में मायने रखता है। मैंने जो उदाहरण दिया वह एक सर्वर से प्रतिक्रिया थी, अब यूटीसी के रूप में, मुझे देखना होगा कि यह उन मिलीसेकंड क्यों लौटाता है। – Rhadoozooz
खुशी है कि आपने इस मुद्दे को समझ लिया है! सौभाग्य! :) – Eric
@Eric बीटीडब्ल्यू अच्छी व्याख्या, सराहनीय। –