DateTimeTostr异常错误

时间:2012-07-06 08:36:35

标签: delphi delphi-7

我使用该函数的返回值填充Delphi 7下的TStringList:

function  dateTime2str(td : TDateTime) : string;
var
  iformatsettings : tformatsettings;
begin
  GetLocaleFormatSettings(LOCALE_USER_DEFAULT, iformatsettings);

  result := DateTimeToStr(td, iFormatSettings);
end;

然后我用该函数读取TStringList的每个值:

function str2DateTime(s : string) : TDateTime;
var
  iformatsettings : tformatsettings;
begin

  GetLocaleFormatSettings(LOCALE_USER_DEFAULT, iformatsettings);


  result := strtodatetime(s,iFormatSettings);

end;

但它会触发EConvertError异常: '6/7/12 3:02:31 AM'不是有效的日期和时间。

为什么?

非常感谢

1 个答案:

答案 0 :(得分:0)

通过使用FormatDateTime,您知道日期和时间的确切格式,因此当您检索它时,它将完全相同,而不是取决于区域设置配置。

如果第一个功能在一台计算机上运行,​​而第二个功能在另一台计算机上运行,​​那么使用第一种方法仍会遇到问题。