Also für eine Schnittstelle ist das ja eher ein ungünstiges Format.
Sicher, dass die, wo das her komm, nicht 'nen Bug haben oder irgendwelche (hoffentlich vorübergehenden) Mist bauen?
Emba hat ja letztens an den Datums-Funktionen was repariert ... eventuell klappt es, wenn du dem StrToDateTime das
'ddd mmm dd yyyy hh:mm:ss'
gibst,
also
'ddd mmm dd yyyy'
im FormatSettings als DateStr und
'hh:mm:ss'
als TimeStr. (vorher ab 'GMT' alles entfernt)
Es wäre zu schön, wenn es ein eine Umkehrfunktion zum
FormatDateTime und
DateTimeToString gäbe.
PS:
Delphi-Quellcode:
procedure TForm25.FormCreate(Sender: TObject);
type
TDayNames =
array[1..7]
of string;
TMonNames =
array[1..12]
of string;
const
DayNames: TDayNames = ('
Sun', '
Mon', '
Tue', '
Wed', '
Thu', '
Fri', '
Sat');
MonNames: TMonNames = ('
Jan', '
Feb', '
Mar', '
Apr', '
May', '
Jun', '
Jul', '
Aug', '
Sep', '
Oct', '
Nov', '
Dec');
begin
Caption := FormatDateTime('
DDD MMM DD YYYY HH:MM:SS "GMT+0000 (Coordinated Universal Time)"', Now);
// Warum hat Invarant im englischen Format die deutschen Namen?
Caption := FormatDateTime('
DDD MMM DD YYYY HH:MM:SS "GMT+0000 (Coordinated Universal Time)"', Now, TFormatSettings.Invariant);
var FS := TFormatSettings.Invariant;
TDayNames(FS.ShortDayNames) := DayNames;
TMonNames(FS.ShortMonthNames) := MonNames;
Caption := FormatDateTime('
DDD MMM DD YYYY HH:MM:SS "GMT+0000 (Coordinated Universal Time)"', Now, FS);
end;
Also oben beim StrToDateTime mit dem FormatSettings aufpassen.