我的方法如下:
function GetDateData(vDate: TDateTime): string;
var
  iYear, iMonth, iDay: Word;
  sDate, sYear, sMonth, sDay: string;
begin
  DecodeDate(vDate, iYear, iMonth, iDay);
  sYear := Copy(inttostr(iYear), 3, 4);
  if length(inttostr(iDay)) = 1 then
    sDay := '0' + inttostr(iDay)
  else
    sDay := inttostr(iDay);
  case iMonth of
    1..9: sDate := sYear + '0' + inttostr(iMonth) + sDay;
    10: sDate := sYear + inttostr(iMonth) + sDay;
    11: sDate := sYear + inttostr(iMonth) + sDay;
    12: sDate := sYear + inttostr(iMonth) + sDay;
  end;
  Result := sDate;
end;如果同时生成5000条这样的记录,感觉会越来越慢,请高手指点一下,你们用什么方法转换呢

解决方案 »

  1.   

    那你用这个函数:
      ShowMessage(FormatDateTime('YYYYMMDD',Now));
      

  2.   

    S := FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM', Now + 0.125);这是HELP的内容.
      

  3.   

    如果是SQLServer数据库可以用convert函数
    否则
    function GetDateData(vDate: TDateTime): string;
    begin
      result:=datetostr(vDate);
      delete(result,8,1);
      delete(result,5,1);
    end;
      

  4.   

    sql:
    datename(year,getdate())+datename(month,getdate())+datename(day,getdate())
      

  5.   

    都是建议用FormatDateTime看看了http://lysoft.7u7.net
      

  6.   

    用formatdatatime。
    var str : string;
    begin
      str := FormatDateTime('YYYYMMDD',vData));
    end;
      

  7.   

    这样最快s[1]+s[2]+s[3]+s[4]+s[6]+s[7]+s[9]+s[10]