Delphi2007在win7系统下的日期问题

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

办法1---替换法:

strSetTime :=\'2012/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(\'2010-01-01\',fs);//, fs.LongDateFormat);

ShowMessage(\'01/01/2075 = \'+DateTimeToStr(t,fs));