java - Android - How to parse this date [ 2014-04-23T14:20:00.000-07:00 ]? -


मैं इस दिनांक स्वरूप को परिवर्तित करना चाहता हूं:

  2014-04-23T14: 20: 00.000-07: 00   

एक तिथि ऑब्जेक्ट में इसलिए मैं अंतर पाने के लिए इस विधि का उपयोग कर सकता हूं:

  DateUtils.getDateDifference (DATE_OBJECT);   

...

मैंने 'सरलडेटफ़ॉर्मेट' का उपयोग करने की कोशिश की है लेकिन यह एक अपवाद फेंकता है, कोड को कई बार जांचता है, लेकिन काम नहीं करता: <पूर्व> स्ट्रिंग पबडेट = "2014-04-23T14: 20: 00.000-07: 00"; सरलडेट फ़ार्मैट डीएफ = नया सरलडेटफ़ॉर्मैट ("ईईई, डीडी एमएमएम याय केके: एमएम: एसएस जेड", लोकेल.एएनजीएलआईएसएच); {Date pDate = df.parse (pubDate) का प्रयास करें; PubDate = "यह पोस्ट प्रकाशित की गई" + डेट्यूलेट्स। डेट डिफ्रेंस (पीडीटी); } पकड़ (ParseException ई) {Log.e ("DATE ​​PARSING", "त्रुटि पार्सिंग डेट .."); PubDate = "पुनः प्राप्त नहीं किया जा सका।"; }

इसे सफलतापूर्वक प्राप्त करने का सबसे आसान तरीका क्या है?

एंड्रॉइड प्रलेखन के अनुसार (@ मार्कोआसिएर्नो की टिप्पणी में दी गयी लिंक) आपको टाइम ज़ोन ऑफसेट को पार्स करने के लिए प्रतीकों को Z से पांच गुना की आवश्यकता है। नोट करें कि जावा -6 में ऑफसेट हिस्से में बृहदान्त्र को संभालने के लिए कोई अंतर्निहित समाधान नहीं है, लेकिन जावा -7 ने नया प्रतीक एक्स (यहां तीन बार: XXX) पेश किया है। (Android! = Java) के लिए एक अन्य उदाहरण तो अंतिम पैटर्न ऐसा दिखता है:

  सरलडेटफ़ॉर्मेट एसडीएफ = नया सरलडेटफ़ॉर्मेट ("य्याय-एमएम-डीडी'टीएचएच: मिमी: एसएसएसएसएसजेडजेडडब्ल्यूजेड"); Java.util.Date डी = sdf.parse ("2014-04-23T14: 20: 00.000-07: 00");   

लोकेल निर्दिष्ट करना आवश्यक नहीं है क्योंकि आपके प्रारूप में कोई भी भाषा या लोकेल-संवेदनशील भागों (केवल शुद्ध आईएसओ-प्रारूप) नहीं है।

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -