[delphi] 使用strtoDatetime在不同操作系统出现不同的情况
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
可以通过 控制面板---->区域设置------->日期----->短日期样式 查看
为了程序有更好的兼容性,可以进行注册表修改
HKEY_CURRENT_USER\Control Panel\International其中的sDate项将其值强制设置成'/',
这个办法不是非常好,最好的是程序做判断,适应系统,而不是更改系统设置来适应程序