我的数据库里的表有个字段是日期/时间 用的是短时间 
可是我显示在DBGRID里的时候是有日期的,我只要显示HH:MM就好了.
请问要如何做?

解决方案 »

  1.   

    TDateTimeField有DisplayFormat属性
    设置成hh:ss
    如果你的Field不是在设计期固定的,可以用代码
    TDateTimeField(Query1.FieldByName('DateField')).DisplayFormat := 'hh:ss';
      

  2.   

    procedure TForm1.ADOQuery1dataGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      Text:= Formatdatetime('HH:MM',ADOQuery1.fieldbyname('Time').AsDateTime);
    end;
      

  3.   

    用Field.DisplayFormat能够搞定。
    或者在SQL上做文章,在数据从数据库出来时,就已经是只有时间的字符串就可以了!
      

  4.   

    SELECT CONVERT(char(5), GETDATE(), 8) AS Timer
      

  5.   

    Formatdatetime('HH:MM',ADOQuery1.fieldbyname('Time').AsDateTime);
      

  6.   

    我是想用:select time from table  查询出来的时候 数据库里的日期(短时间)字段显示出来的只是HH:MM这样。。
    这句:
    TDateTimeField(Query1.FieldByName('DateField')).DisplayFormat := 'hh:ss';
    我试试,
    谢谢大家,
      

  7.   

    就是用TDateTimeField(Query1.FieldByName('DateField')).DisplayFormat := 'hh:ss';
    行了谢谢
    给分。。