Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   StrToDateTime mit Miliseconds? (https://www.delphipraxis.net/215577-strtodatetime-mit-miliseconds.html)

taveuni 30. Jul 2024 16:02

StrToDateTime mit Miliseconds?
 
Hallo zusammen,
Vielleicht ist es einfach zu heiss. Aber ich stecke hier fest. Über eine Schnittstelle erhalte ich ein XML in welchem unter anderem ein DATE und ein TIME Node enthalten ist. Date: 'yyyy-mm-dd' Time: 'hh-nn-ss-zzz'. Nun war ich so naiv und habe gemacht:

Delphi-Quellcode:
function TServiceModule.GetTimeStamp(aTimeStamp: String): TDateTime;
begin
  var ts:= TFormatSettings.Create;
  ts.DateSeparator:= '-';
  ts.TimeSeparator:= '-';
  ts.ShortDateFormat := 'yyyy-mm-dd';
  ts.ShortTimeFormat := 'hh-nn-ss-zzz';
  Result:= StrToDateTime(aTimeStamp, ts);
end;
Dann zum Test:

Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
begin
  var tm:= ServiceModule.GetTimeStamp('2024-07-30 16-31-56-563');

  ShowMessageFmt('%s',[FormatDateTime('yyyy-mm-dd hh-nn-ss-zzz',tm)]);
end;
Die Message ist dann leider: 2024-07-30 16-31-56-000

Wie bringe ich die Milisekunden vom String in den Timestamp. Klar könnte ich den Time Value zerlegen und dann mit IncMiliseconds den DateTime erhöhen. Aber geht das einfacher?

Uwe Raabe 30. Jul 2024 16:15

AW: StrToDateTime mit Miliseconds?
 
Der Separator für die Millisekunden ist nicht der TimeSeparator, sondern der DecimalSeparator. Setzt den auch noch entsprechend, dann sollte es gehen.

taveuni 30. Jul 2024 16:17

AW: StrToDateTime mit Miliseconds?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1539366)
Der Separator für die Millisekunden ist nicht der TimeSeparator, sondern der DecimalSeparator. Setzt den auch noch entsprechend, dann sollte es gehen.

Oje so gehts! Vielen Vielen Dank. Du hast meinen Nachmittag gerettet.


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