LocalDateTime to OffsetDateTime

  • Antworten:1
Gelöschter Account
  • Forum-Beiträge: 79

01.02.2019, 08:55:11 via Website

Moin zusammen,

ich stehe gerade vor dem Problem, dass ich eine LocalDateTime von einer Schnittstelle bekomme, von der ich weiß, dass die angegebene Uhrzeit in der deutschen Zeitzone ist.
Ich möchte daraus ein OffsetDateTime-Objekt machen mit korrekter Zeitverschiebung.

Meine erste Idee war, einfach eine Stunde abzuziehen und dann eine Stunde als Offset einzutragen, aber das klingt iwie, als wäre es falsch. Ich hatte auch schon überlegt, einfach das ZoneOffset von OffsetDateTime.now() zu nehmen, das würde dann aber sowieso nur gut gehen, wenn man das Programm in der richtigen Zeitzone verwendet.

Meine Frage ist also: Wie kann ich eine LocalDateTime korrekt in ein OffsetDatetime umwandeln?

PS: Ist zwar kein Android-Spezifisches Problem, aber ich hoffe, ihr könnt mir trotzdem helfen. ^^

Kommentieren
Jokel
  • Forum-Beiträge: 1.530

01.02.2019, 10:24:51 via Website

Hallo
ich würde es in etwa so versuchen.

OffsetDateTime.parse("2019-02-01T10:10:15.687680", DateTimeFormatter.ISO_LOCAL_DATE_TIME);

OffsetDateTime.parse("2019-02-01T10:10:15.687680+01:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME);
OffsetDateTime.parse(LocalDateTime.toString() +"+01:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME);

https://developer.android.com/reference/java/time/format/DateTimeFormatter#ISO_OFFSET_DATE_TIME
https://developer.android.com/reference/java/time/OffsetDateTime.html#parse(java.lang.CharSequence,%20java.time.format.DateTimeFormatter)

— geändert am 01.02.2019, 10:32:59

Hilfreich?
Kommentieren