नीचे एक ISO8601 दिनांक स्ट्रिंग का एक deserialization है जिसमें समय क्षेत्र जानकारी शामिल है। ध्यान दें कि समय क्षेत्र जानकारी खो दिया है:आईएसओ 8601 समय क्षेत्र जानकारी के साथ डेटटाइम
scala> val date1 = new DateTime().withZone(DateTimeZone.forID("Europe/Berlin"))
date1: org.joda.time.DateTime = 2013-09-22T18:42:15.348+02:00
scala> date1.getZone()
res45: org.joda.time.DateTimeZone = Europe/Berlin
scala> val date2 = new DateTime(date1.toString())
date2: org.joda.time.DateTime = 2013-09-22T19:42:15.348+03:00
scala> date2.getZone()
res46: org.joda.time.DateTimeZone = Europe/Vilnius
scala> date1.getZone() == date2.getZone()
res47: Boolean = false
समय क्षेत्र जानकारी (यूटीसी ऑफसेट), धारावाहिक है +03:00
और +02:00
ISO8601 तार के अंत में के रूप में है, लेकिन यह अक्रमांकन के बाद खो दिया है। जैसा कि आप date2
डेटटाइम ऑब्जेक्ट देख सकते हैं, जिसे मुझे date1
की एक प्रति होने की उम्मीद है, +02:00
की बजाय सिस्टम का यूटीसी ऑफसेट है, जो date1
था।
यूटीसी ऑफ़सेट को संरक्षित करने के लिए मैं ISO8601 स्ट्रिंग को कैसे बेकार कर सकता हूं?
शानदार! मुझे पहले से ही 'ISODateTimeFormat.dateTimeParser() का उपयोग करके एक रास्ता मिला था। ऑफसेटपार्स()। ParseDateTime (dateTimeString)', लेकिन यह आंखों पर बहुत अच्छा है। चीयर्स। –
@DominykasMostauskis ग्रेट! मैंने कोड को पार्स करने में पिछले 20 मिनट बिताए और एक स्पष्टीकरण के साथ अपना जवाब अपडेट किया। यह जानना हमेशा अच्छा होता है * क्यों * यह उस तरह से काम करता है। उम्मीद है की यह मदद करेगा। अगर यह मदद करता है तो ऊपर उठने के लिए मत भूलना :) – Nicole
+1, आपने निश्चित रूप से अर्जित किया है;) –