JAXB के साथ xs:dateTime को ठीक से संभालने के लिए, मुझे String
->java.time.OffsetDateTime
से अपना स्वयं का कनवर्टर लिखना होगा।xsd: जावा ऑफसेट दिनांक दिनांक दिनांक
जैसा कि एक्सएमएल स्कीमा डेफिनिशन में उल्लिखित है, डेटटाइम आईएसओ 8601 से प्रेरित था। मैंने का उपयोग xs:dateTime
को पार्स करने के लिए किया था, जो उदाहरण के लिए ठीक काम करता है।
"2007-12-03T10:15:30+01:00" //or
"2007-12-03T10:15:30Z"
दुःख की बात है xs:dateTime
में पार्ट is declared optional ऑफसेट, इसलिए पार्स करने मान्य
"2016-03-02T17:09:55"
फेंकता एक DateTimeParseException
।
वहाँ OffsetDateTime के लिए एक DateTimeFormatter
है, जो भी unzoned xs:dateTime
रों (शायद एक डिफ़ॉल्ट समय क्षेत्र के साथ) संभालती है?
आह, इसलिए ऑफसेट गुम होने पर, आप अपने जेवीएम के समय क्षेत्र में दिनांक-समय की व्याख्या करते हैं। मुझे लगता है कि मैं 'localDateTIme.atZone (ZoneId.systemDefault()) का उपयोग करूंगा। ToOffsetDateTime()'। क्या इसे पढ़ने में थोड़ा आसान नहीं है? –