Delphi2007在win7系统下的日期问题


XP和Win7的日期格式在系统默认中并不一致,比如在XP下默认是'2012-1-1',在win7下却变成了'2012/1/1'。

办法1---替换法:


strSetTime :='2013/1/1'  ;

if pos('/', strSetTime) > 0 then
 strSetTime := StringReplace(strSetTime, '/', '-', [rfReplaceAll]);

办法 2---TFormatSettings

使用TFormatSettings来就OK了
var
t:TDateTime;
fs:TFormatSettings;
begin
fs.ShortDateFormat:='yyyy-mm-dd';
fs.DateSeparator:='-';

t := StrToDate('2013-01-01',fs);//, fs.LongDateFormat);
ShowMessage('01/01/2075 = '+DateTimeToStr(t,fs));
联系电话:
020-00000000
联系电话:
020-00000000
联系电话:
020-12345678