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項將其值強制設置成'/',

這個辦法不是非常好,最好的是程序做判斷,適應系統,而不是更改系統設置來適應程序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章