Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi YYYYMMDD (string) umwandeln in Datetime, egal welches PC-Datumsformat (https://www.delphipraxis.net/199740-yyyymmdd-string-umwandeln-datetime-egal-welches-pc-datumsformat.html)

juergen 15. Feb 2019 21:41

YYYYMMDD (string) umwandeln in Datetime, egal welches PC-Datumsformat
 
Hallo zusammen,

ich muss externe Daten verarbeiten wo u.a. auch ein Datum im Format YYYYMMDD als String vorhanden ist.
Den String muss ich in meinem Programm dann in Datetime umwandeln.

Meine Frage:
Wie kann ich YYYYMMDD (String) in Delphi umwandeln in Datetime, egal welche Datumseinstellung der Server hat, z.B. 2/15/2019?

Vielen Dank schon mal vorab!

Michael II 15. Feb 2019 21:55

AW: YYYYMMDD (string) umwandeln in Datetime, egal welches PC-Datumsformat
 
Mit EncodeDate, zum Beispiel

Delphi-Quellcode:
uses System.DateUtils;

EncodeDate( 2019,2,15 );
hast du's versucht?

Uwe Raabe 15. Feb 2019 22:10

AW: YYYYMMDD (string) umwandeln in Datetime, egal welches PC-Datumsformat
 
Delphi-Quellcode:
var
  dt: TDateTime;
  S: string;
  myfmt: TFormatSettings;
begin
  myfmt.DateSeparator := '/';
  myfmt.ShortDateFormat := 'YYYY/MM/DD';
  S := '20190215';
  dt := StrToDate(S.Insert(6, '/').Insert(4, '/'), myfmt)
end;

juergen 15. Feb 2019 22:44

AW: YYYYMMDD (string) umwandeln in Datetime, egal welches PC-Datumsformat
 
Interessant...
Ich zeige das umgewandelte YYYYMMDD als Datetime in einem cxGrid von Devexpress in einer Column an, die als Datetime definiert ist.

@Michael,
Dein Vorschlag zeigt in Showmessage offensichtlich die richtigen Werte an, finde ich. In meinem cxGrid steht dann aber in jeder Zeile 12/30/1899...

@Uwe,
dein Vorschlag funktioniert!
Es hat etwas gedauert bis ich es verstanden hatte.

IMHO hätte Michaels Vorschlag auch funktionieren müssen, ich weiß aber nicht warum es nicht tut.:oops:



Vielen Dank euch beiden!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:40 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