AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Datum aus anderer Zeitzone in TDateTime
Thema durchsuchen
Ansicht
Themen-Optionen

Datum aus anderer Zeitzone in TDateTime

Ein Thema von Cubysoft · begonnen am 23. Jul 2015 · letzter Beitrag vom 16. Aug 2015
Antwort Antwort
Seite 1 von 2  1 2      
Cubysoft

Registriert seit: 5. Sep 2014
Ort: Ludwigshafen
76 Beiträge
 
Delphi XE8 Professional
 
#1

Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 01:09
Hallo,

ich habe einen String vorliegen:

Code:
2015-07-22 23:04:20 UTC
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?


Danke!
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 01:15
Wer hat sich dieses Format denn ausgedacht?

Ist das irgendein Standard?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Cubysoft

Registriert seit: 5. Sep 2014
Ort: Ludwigshafen
76 Beiträge
 
Delphi XE8 Professional
 
#3

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 01:37
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
Tobias
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 07:10
[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]
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 09:41
Mich würden jetzt noch ein paar andere Strings interessieren. Steht da am Schluss immer "UTC"? Wenn nicht, wie werden andere Zeitzonen angegeben?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 09:47
Ansonsten gibt es bei http://docwiki.embarcadero.com/Libra...tils.TTimeZone auch noch die Methode ToLocalTime .

Dazu muss man natürlich erst die Zeit bestimmen und dann mit der Methode umrechnen lassen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 12:10
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;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 23. Jul 2015, 12:43
Mich würden jetzt noch ein paar andere Strings interessieren. Steht da am Schluss immer "UTC"? Wenn nicht, wie werden andere Zeitzonen angegeben?
Wenn man's richtig macht:
Zitat:
Sofern nicht aus dem Zusammenhang eindeutig klar ist, welche Zeitzone gemeint ist, ist immer anzufügen, welchen Offset zur UTC die angegebene Zeit besitzt
Grundformat: 19850412T232050+0100
Erweitertes Format: 1985-04-12T23:20:50+01:00

Erst damit wird die im Beispiel angegebene Uhrzeit eindeutig als UTC 22:20:50 identifizierbar.
(vgl. hier)


Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Cubysoft

Registriert seit: 5. Sep 2014
Ort: Ludwigshafen
76 Beiträge
 
Delphi XE8 Professional
 
#9

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 15. Aug 2015, 19:05
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?
Tobias
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Datum aus anderer Zeitzone in TDateTime

  Alt 15. Aug 2015, 19:07
Hallo,

in System.DateUtils ist die Klasse zu finden.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 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