Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android und ToUniversalTime (https://www.delphipraxis.net/187695-android-und-touniversaltime.html)

AndyDF 23. Dez 2015 09:19

Android und ToUniversalTime
 
Hallo zusammen,

um mit einem Server kommunizieren zu können benötige ich alle Zeit- und Datumswerte in UTC. Jetzt gibt es ja die schöne Funktion ToUniversalTime(...).
Leider funktioniert diese bei mir unter Android aber nicht. Zumindest nicht, wenn es sich um eine TTime handelt ohne Tagangabe,

Folgendes funktioniert nicht:
Code:
var
  CurrentTime: TTime;
  UtcTime: TTime;
begin
  CurrentTime := TimeOf(Now);
  UtcTime := TTimeZone.Local.ToUniversalTime(CurrentTime);

  TimeEdit1.Time := CurrentTime;
  TimeEdit2.Time := UtcTime;
end;
Das hier funktioniert:
Code:
var
  CurrentTime: TDateTime;
  UtcTime: TDateTime;
begin
  CurrentTime :=Now;
  UtcTime := TTimeZone.Local.ToUniversalTime(CurrentTime);

  TimeEdit1.Time := CurrentTime;
  TimeEdit2.Time := UtcTime;
end;
Die Zeit wird unter Windows und iOS korrekt konvertiert aber nicht unter Android.

Ich nehme an, es handelt sich hierbei um einen Bug oder?

Danke für eure Hilfe. Andy

himitsu 23. Dez 2015 11:05

AW: Android und ToUniversalTime
 
Kann auch nicht funktionieren, denn welcher Offset soll denn verwendet werden?
Sommerzeit <> Winterzeit
Und was ist mit überläufen? (1:00-2h oder 23:00+2h)

Entweder man wirft eine Exception oder man rechnet nichts, was falsch sein könnte. (der Code auf Android macht einfach Letzteres)

Füge einfach ein Datum hinzu (z.B. heute), lass die Zeitzone umrechnen und extrahiere dann die Uhrzeit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.

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