小编Lub*_*bos的帖子

StrToDate无法转换从DateToStr获得的值

我有一个旧的申请.它具有存储在其数据中的本地化格式的日期.此字符串仅用于显示,因此可以将其置于本地化表单中.现在我们需要将它重用为TDateTime.这似乎很简单:因为我们从DateToStr获取了字符串,我们将使用StrToDate将其转换回来.所以我写了一个小的控制台程序来验证它:

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;
var
  S:String;
  D: TDateTime;
begin
  S := DateToStr(Now);
  Writeln(S);
  D := StrToDate(S); //! throws an EConvertError
  Readln;
end.
Run Code Online (Sandbox Code Playgroud)

它抛出一个EConvertError:Project Project1.exe引发异常类EConvertError,消息为''28.9. 2017'不是有效日期'.这是不正确的,异常提到的日期是有效的!它刚刚通过DateToStr生成.这对我来说完全没有意义.这可能是Windows 10中的错误吗?

windows delphi delphi-10.1-berlin

0
推荐指数
1
解决办法
223
查看次数

标签 统计

delphi ×1

delphi-10.1-berlin ×1

windows ×1