比如转换“20050419”,请高手赐教

解决方案 »

  1.   

    什么意思,是转成类似这样子吗:2005-04-19
    Str:= FormatDateTime('yyyy-mm-dd', StrToDate('20050419'));
      

  2.   

    我要的就是这个StrToDate('20050419');但是不能这样使用StrToDate函数的吧
      

  3.   

    function DateTostring(val:string):string;定义一个函数;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    DateTimePicker1.DateTime:=StrToDate(datetostring(edit1.Text));
    end;function TForm1.DateTostring(val: string):string;
    var
     I:Integer;begin
    for I:= 1 to  Length(val)do begin
        if (i=4) or (i=6) then
       Result:=Result+val[i]+'-'
       else Result:=Result+val[i];
    end;
    end;具体情况参考一下上面的.我刚刚做的.
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        str:string;
        Year,Mon,Date:Word;
    begin
        str:='20050419';
        Date:=StrToInt(str) mod 100;
        Mon:=(StrToInt(str) div 100) mod 10;
        Year:=StrToInt(str) div 10000;    Label1.Caption:=FormatDatetime('yyyy-mm-dd',EnCodeDate(Year,Mon,Date));
    end;
      

  5.   

    Mon:=(StrToInt(str) div 100) mod 10;
    --------------->>>>>>>>>>>...
    Mon:=(StrToInt(str) div 100) mod 100;
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    try
     DateTimePicker1.DateTime:=StrToDate(datetostring(edit1.Text));
    except
     DateTimePicker1.DateTime:=StrToDate(datetostring2(edit1.Text));//解决转换六个字像021212
    end;
    end;function TForm1.DateTostring(val: string):string;
    var
     I:Integer;
    begin
    for I:= 1 to  Length(val)do begin
        if (i=4) or (i=6) then
       Result:=Result+val[i]+'-'
       else Result:=Result+val[i];
    end;
    end;
    function TForm1.DateTostring2(val: string):string;
    var
     I:Integer;
    begin
    for I:= 1 to  Length(val)do begin
        if (i=2) or (i=4) then
       Result:=Result+val[i]+'-'
       else Result:=Result+val[i];
    end;
    end;
      

  7.   

    饿。。jms虽然正确理解了我的意思,但是没有给出我想要的那种答案。。非要自己写个函数咯?看来分要白送给你咯@_@