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
Post a Comment