Mã này nên làm việc trong Delphi XE2, nhưng nó mang lại "không phải là một ngày hợp lệ và thời gian" lỗi trong chuyển đổi StrtoDateTime:chuyển đổi với StrToDateTime và TFormatSettings không hoạt động
procedure TForm2.Button1Click(Sender: TObject);
var
s: string;
d: TDateTime;
FmtStngs: TFormatSettings;
begin
GetLocaleFormatSettings(GetThreadLocale, FmtStngs);
FmtStngs.DateSeparator := #32;
FmtStngs.ShortDateFormat := 'dd mmm yyyy';
FmtStngs.TimeSeparator := ':';
FmtStngs.LongTimeFormat := 'hh:nn';
s := FormatDateTime('', Now, FmtStngs);
d := StrToDateTime(s, FmtStngs);
end;
Bất kỳ gợi ý?
BTW: Các DateSeparator chỉ được sử dụng để thay đổi '/' trong Format-String. Để có được nó được sử dụng, bạn phải thiết lập ShortDateFormat để 'dd/mmm/yyyy' nếu không nó là vô ích: o) –