你用
 FormatDatetime() 试一下

解决方案 »

  1.   


    好像是
    str := FormatDateTime('yyyy"年"m"月"d"日",date);
      

  2.   

    何必这么麻烦啊,用这个多好
    str := FormatDateTime('dddddd',date);
    格式就是2000年1月1日  长日期格式
    str := FormatDateTime('ddddd',date);
    格式就是2000-1-1  短日期格式
      

  3.   

    不行
    还是报 is not a valid intger
      

  4.   

    日期类型是浮点型,你用以下代码试试:
    str:=floatToStr(sql1.fieldbyname('参加工作时间').asdatetime);
      

  5.   

    你是不是把str定义为Integer类型了??
      

  6.   

    强烈建议使用FormatDateTime函数,使用DataTimeToStr或者StrToDateTime跟控制面板中的区域设置有关系,移植有问题。
    Str :=FormatDatetime('yyyy-mm-dd',Sql1.FieldByName('参加工作时间').AsDateTime);
      

  7.   

    如果
    str := FormatDateTime('yyyy"年"m"月"d"日",str := FormatDateTime('yyyy"年"m"月"d"日",date)); 出错就是你的程序有问题
      

  8.   

    刚才错了如果str := FormatDateTime('yyyy"年"m"月"d"日",Sql1.FieldByName('参加工作时间').AsDateTime); 出错就是你的程序有问题
      

  9.   

    to 网上一步一步爬你说的有道理, 我估计是下面的程序有问题我想取出日期的年份,并且把它转化为整型用哪个函数??  我是用copy(str,1,4)可以吗? 有更加好的吗
      

  10.   

    你用datetimetostr不就可以了嘛!
      

  11.   

    各位大虾,  我想取出日期型数据的年份也就是前4位用哪个函数啊, 我估计我的 strtoint(copy(str,1,4))有问题 这里好象会报 is not a valid integerfaint , 好急,快告诉我吧,立刻给分
      

  12.   

    DecodeDate(Date, y, m, d)
    y 即为取得的年份(Integer型)
      

  13.   

    str := FormatDateTime('yyyy',Sql1.FieldByName('参加工作时间').AsDateTime)
      

  14.   

    str := FormatDateTime('yyyy',Sql1.FieldByName('参加工作时间').AsDateTime);Str 是(String)如果要Integer       i :=StrToInt(Str);