我在一个edit1中输入20041212,想通过strtodate(edit1.text),转化为2004-12-12的日期格式,可是运行后提示‘20041212’is not valid date,请问各位高手应该怎样转化yyyymmdd为yyyy-mm-dd?

解决方案 »

  1.   

    '2004-12-12' 可以在转为日期格式,但20041212转换不成的。
    自己写个函数,或者三个eidt输入用'-'连接起来吧。
      

  2.   

    Label1.Caption:=IntToStr((StrToInt(Edit1.Text) div 10000))
                        +'-'+IntToStr(((StrToInt(Edit1.Text) mod 10000) div 100))
                        +'-'+IntToStr(StrToInt(Edit1.Text) mod 100);
      

  3.   

    var
        dt:TDateTime;begin
        dt:=StrToDate(IntToStr((StrToInt(Edit1.Text) div 10000))
                        +'-'+IntToStr(((StrToInt(Edit1.Text) mod 10000) div 100))
                        +'-'+IntToStr(StrToInt(Edit1.Text) mod 100));
      

  4.   

    直接用maskedit吧,设置一个格式,简单