Datum aus anderer Zeitzone in TDateTime
Hallo,
ich habe einen String vorliegen:
Code:
Dies muss ich in eine TDateTime Variable bekommen, unter berücksichtigung der Zeitzone des Benutzers. Ich finde dazu leider keine Funktion... muss ich das irgendwie selbst machn? Weiß einer von euch vllt weiter?
2015-07-22 23:04:20 UTC
Danke! |
AW: Datum aus anderer Zeitzone in TDateTime
Wer hat sich dieses Format denn ausgedacht?
Ist das irgendein Standard? |
AW: Datum aus anderer Zeitzone in TDateTime
Nein, ich bekomme die Daten aus einer API. Ich muss halt das Datum bzw die Uhrzeit, so berechnen, dass es zu der Zeitzone passt, die der Benutzer hat. Also in meinem Fall von UTC -> MEZ als eine Stunde addieren. Ich hatte halt irgendwie gehofft, dass es eine fertige Funktion gibt, die UTC zur normalen Zeit macht
|
AW: Datum aus anderer Zeitzone in TDateTime
[F1]
System.DateUtils.TTimeZone.UtcOffsetAus RAD Studio API Documentation Übergeordnet: TTimeZone property UtcOffset: TTimeSpan read GetCurrentUtcOffset;C++ __property System::Timespan::TTimeSpan UtcOffset = {read=GetCurrentUtcOffset};EigenschaftenTyp Sichtbarkeit Quelle Unit Übergeordnet property public System.DateUtils.pas System.DateUtils.hpp System.DateUtils TTimeZone BeschreibungGibt den aktuellen Offset von UTC (Coordinated Universal Time) für eine Zeitzone zurück. Die Eigenschaft UtcOffset gibt den aktuellen Offset von UTC für die Zeitzone zurück. Kategorie: API-Dokumentation [/F1] |
AW: Datum aus anderer Zeitzone in TDateTime
Mich würden jetzt noch ein paar andere Strings interessieren. Steht da am Schluss immer "UTC"? Wenn nicht, wie werden andere Zeitzonen angegeben?
|
AW: Datum aus anderer Zeitzone in TDateTime
Ansonsten gibt es bei http://docwiki.embarcadero.com/Libra...tils.TTimeZone auch noch die Methode
Delphi-Quellcode:
.
ToLocalTime
Dazu muss man natürlich erst die Zeit bestimmen und dann mit der Methode umrechnen lassen. |
AW: Datum aus anderer Zeitzone in TDateTime
Man könnte noch eine Prüfung auf den String "UTC" am Ende einbauen, aber das überlasse ich dem geneigten Leser mal als Übung. Stören tut er bei der Umwandlung aber nicht.
Delphi-Quellcode:
function StrUTCToLocalTime(const Value: string): TDateTime;
var fmt: TFormatSettings; begin fmt.ShortDateFormat := 'yyyy/mm/dd'; fmt.DateSeparator := '-'; fmt.TimeSeparator := ':'; result := TTimeZone.Local.ToLocalTime(StrToDateTime(Value, fmt)); end; |
AW: Datum aus anderer Zeitzone in TDateTime
Zitat:
Zitat:
Gruß K-H |
AW: Datum aus anderer Zeitzone in TDateTime
Hallo,
danke Uwe für deine Antwort. Ich habe es doch heute erst gebraucht, aber leider kann ich das so nicht übernehmen. Ich habe Delphi XE8 Professional und bei mir wir TTimeZone nicht erkannt. Delphi denkt es ist in Winapi.Windows, aber da ist es wohl nicht. Was ist denn die richtige Unit? |
AW: Datum aus anderer Zeitzone in TDateTime
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 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