Aşağıda, saat dilimi bilgilerini içeren bir ISO8601 tarih dizesinin bir serileştirmesi var. (UTC offset)ISO8601 Saat dilimi bilgisi korunan DateTime için
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
Zaman dilimi bilgilerini +03:00
ve ISO8601 dizeleri sonunda +02:00
olduğu gibi tefrika, ancak seri kaldırma sonra kaybolur: saat dilimi bilgileri kaybolur dikkat edin. date1
'un bir kopyası olması beklenen date2
DateTime nesnesini görebildiğiniz gibi, date1
'un sahip olduğu +02:00
yerine sistemin UTC ofsetine sahiptir.
Bir ISO8601 dizgesini UTC ofsetini korumak için nasıl seri hale getirebilirim?
Parlak! Zaten ISODateTimeFormat.dateTimeParser() .OffsetParsed(). ParseDateTime (dateTimeString) 'kullanarak bir yol bulmuştum, ama bu çok daha güzel gözlerde. Şerefe. –
@DominykasMostauskis Harika! Son 20 dakikayı kod ayrıştırmada harcadım ve cevabımı bir açıklama ile güncelledim. Bunu bilmek her zaman iyidir * neden * bu şekilde çalışır. Bu yardımcı olur umarım. Eğer yardımcı olsaydı yeniyi eklemeyi unutma :) – Nicole
+1, emin oldun;) –