Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Zeitzoneninformationen in Android-Kalendern (https://www.delphipraxis.net/198225-zeitzoneninformationen-android-kalendern.html)

skoschke 15. Okt 2018 14:49

Zeitzoneninformationen in Android-Kalendern
 
Hallo,

für eine App, die Handy-Termine und anderes darstellen soll, muss ich die Termine der Android-Kalender auswerten.

Die Auswertung an sich funktioniert, nur bin ich jetzt darauf gestoßen, dass diese verschiedenste Zeitzoneninformationen haben können:

- 'UTC'
- 'GMT+2' (oder eben anderer Zeitversatz)
- 'Europe/Berlin'
- und wer weiß was da in der Praxis noch alles kommt...

Nun die Frage, gibt es bereits eine "allgemeingültige Funktion', welche einen Zeitpunkt (z.B. 6:00 Uhr GMT+2) in die "richtige Zeit" 8:00 umzurechnen?

Ich mag ungern immer wieder neu auftretende Zeitzonenvarianten nachpflegen bei denen der Nutzer eine entsprechende Meldung bekommt!

Zusatzfrage:
Wenn ein Zeitpunkt mit 6:00 Uhr GMT+2 kommt, ist das 8:00 Uhr, muss dabei noch die Sommerzeit Berücksichtigung finden?

Ciao
Stefan

Ghostwalker 16. Okt 2018 06:06

AW: Zeitzoneninformationen in Android-Kalendern
 
Hier ein OS-Projekt, das dir das handling erleichtern sollte:

https://mbtaylor1982.github.io/tzdb/

mjustin 16. Okt 2018 08:36

AW: Zeitzoneninformationen in Android-Kalendern
 
Zitat:

Zitat von skoschke (Beitrag 1415789)
Wenn ein Zeitpunkt mit 6:00 Uhr GMT+2 kommt, ist das 8:00 Uhr, muss dabei noch die Sommerzeit Berücksichtigung finden?

06:00 GMT+2 bedeutet: es ist die Ortszeit 06:00 Uhr, und es ist die Zeitzone "GMT+2".

Diese Zeit entspricht 04:00 Uhr GMT (identisch mit 04:00 Uhr UTC).

skoschke 17. Okt 2018 08:14

AW: Zeitzoneninformationen in Android-Kalendern
 
Nun, so richtig schlau bin ich immer noch nicht!

Ich habe im Android-Kalender 2 Termine angelegt:
- 8:00 mit Standardeinstellung (GMT+2)
- 8:00 mit Zeitzone London

Angezeigt wird jetzt ein Termin 8:00 und der Londoner mit 9:00!

Dabei sind intern im Termin-Record gespeichert:
- 6:00 Europe/Berlin
- 7:00 Europe/London

Damit vermute ich, dass intern im Termin mit GMT+0 gespeichert wird, die Zeitzone also zugerechnet werden muss wenn der Termin dann angezeigt werden soll?

Ciao
Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz