Tôi hy vọng các mã sau đây để làm việc:Tại sao TFormatCài đặt không hoạt động như mong đợi?
program Project3;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
var
FS: TFormatSettings;
const
DF = 'yyyymmdd';
begin
try
WriteLn(FormatDateTime(DF, Now));
FS := TFormatSettings.Create;
FS.ShortDateFormat := DF;
WriteLn(StrToDate('20121219', FS));
ReadLn;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Tại sao nó ném một ngoại lệ, nói rằng '20.121.219' không phải là một ngày hợp lệ? Đó không phải là chính xác những gì vượt qua TFormatSettings là nghĩa vụ phải làm gì?
Các RTL dường như không thích điều đó không có dấu phân cách ngày được thiết lập trong các thiết lập định dạng. –