Es ist ja auch etwas verwirrend wenn DateTimeToStr für das Datum das ShortDateFormat aber für die Zeit das LongTimeFormat nimmt.
Delphi-Quellcode:
var
FS: TFormatSettings;
S: string;
begin
FS.ShortDateFormat := 'mm/dd/yyyy';
FS.LongDateFormat := FS.ShortDateFormat;
FS.ShortTimeFormat := 'hh:nn:ss';
FS.LongTimeFormat := FS.ShortTimeFormat;
FS.DateSeparator := '-';
FS.TimeSeparator := '-';
S := DateTimeToStr(Now, FS).Replace(' ', '-');
end;
Im Ergebnis kommt dann so etwas heraus:
Hast du mal probiert, ob das nicht auch so funktioniert?
Delphi-Quellcode:
var
FS: TFormatSettings;
S: string;
begin
FS := TFormatSettings.Invariant;
FS.DateSeparator := '-';
FS.TimeSeparator := '-';
S := DateTimeToStr(Now, FS);
end;