Str:= '2010-4-13 06:22:22';
StrToDateTime(Str);
现象:在WinXP, Win2003 都不会报错
但是在Windows7,Windows Server 2008 上,报 ‘xxx’ is not a valid date and time 错误
后来发现不同操作系统的默认的 短日期样式 是不同的

WinXP, Win2003 默认短日期样式是 xxxx-xx-xx
Windows7, Windows Server 2008 默认短日期样式是 xxxx/x/xx

可以通过 控制面板---->区域设置------->日期----->短日期样式 查看

我用通过增中一个函数获取系统默认的日期分隔符,以自动适应不同操作系统。

//增加函数获取分隔符,实现自动替换

function GetDateFormat():string;
var
  SysFrset: TFormatSettings;
begin
  Result:='';
  GetLocaleFormatSettings(GetUserDefaultLCID, SysFrset);
  Result:=SysFrset.DateSeparator;  //DateSeparator当前系统日期分隔符
end;

if Sa_GetFileCreateDatetime(filepath,2)<StrToDateTime('2019'+myspe+'10'+myspe+'13') then
begin
  DeleteFile(filepath);
end;
最后修改:2019 年 11 月 09 日 05 : 04 PM
如果觉得我的文章对你有用,请随意赞赏