AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StrToDateTime mit Miliseconds?

Ein Thema von taveuni · begonnen am 30. Jul 2024 · letzter Beitrag vom 30. Jul 2024
Antwort Antwort
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
533 Beiträge
 
Delphi 11 Alexandria
 
#1

StrToDateTime mit Miliseconds?

  Alt 30. Jul 2024, 17:02
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?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  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
 
#2

AW: StrToDateTime mit Miliseconds?

  Alt 30. Jul 2024, 17:15
Der Separator für die Millisekunden ist nicht der TimeSeparator, sondern der DecimalSeparator. Setzt den auch noch entsprechend, dann sollte es gehen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
533 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: StrToDateTime mit Miliseconds?

  Alt 30. Jul 2024, 17:17
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.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:17 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