season22 发表于 2015-5-17 07:35:33

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, '/', '-', );  办法 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));
  
页: [1]
查看完整版本: Delphi2007在win7系统下的日期问题