如此简单的问题没有人回答到点子上去:如何将时间/日期型转换为时间型? (20分)

  • 主题发起人 主题发起人 lixx
  • 开始时间 开始时间
L

lixx

Unregistered / Unconfirmed
GUEST, unregistred user!
Access数据库中,其中一个表有个字段类型为时间/日期型的,显示方式为
'2001-11-11 05:30:29'的形式,我想把该字段只以时间的形式显示出来,即转换为
'05:30:29'(不显示日期部分)
怎么办?

在该字段加 timevalue 好像不行,结果出来不但有时间还有时期,而且日期全为
1899-12-30 ,即显示方式为
'1899-12-30 05:30:29'
 
timetostr(field)
 
从TDateTime类型的变量中返回时间值:
Unit
DateUtils

function TimeOf(const AValue: TDateTime): TDateTime;
 
用Format函数
 
用计算字段做
 
我是想在Query中应用,比如像下面这样用是不行
望大家明讲
with query1 do
begin
Close;
sql.Clear;
SQl.Add('select timeof(datetime1), voltage from test');
Open;
end;
{
datetime1 voltage是表test中的两个字段,其中datetime1是时间日期型的
}
 
FormatDateTime('hh:nn:ss',Now)即可以帮你解决[:)]
 
to m008:
SQL语句中能用 FormatDateTime('hh:nn:ss',Now) 吗?
不妨写出你的SQL语句。
 
strtodatetime(formatdatetime('hh:nn:ss',Now))
 
strtodatetime
formatdatetime
都是delphi中的函数,在SQL语句中如何应用?
请各位出自己的SQL语句!
table1

--------------------+----------------+
MyDateTime | voltage |
--------------------+----------------+
2001-11-11 10:50:30 | 1235 |
--------------------+----------------+
2001-11-12 12:23:22 | 4567 |
--------------------+----------------+
... ...
用类似下面的语句写一下。
with query1 do
begin
Close;
SQL.add('select mydatetime ,voltage from table1');
Open;
Open;
end;
注意是Access数据库
 
Formatdatetime 是Delphi中的函数,只能在Delphi源代码中写,现在
lixx要得是在数据中的函数,在Access中不知道,在Sql-server中好像是
用toChar,todate两个函数来转换!
 
知我者,jackl也。
 
在sql語名中
用 Convert() 這個函數﹐可以。
 
你为什么不能把select出来以后的结果在delphi中用FormatDatetime函数。
 
你可以在DBGRID的ONDRAWDATACELL中写代码:
if field.name=日期字段 then
begin
with dbgrid1.canvas do
begin
brush.color:=clwhite;
fillrect(rect);
pen.color:=clblack;
textout(rect.left,rect,top,formatdatetime('hh:nn:ss',field.asdatetime));
end;
end;
 
现在我把我的问题再说一遍:
有如下表table1

日期/时间 voltage
2001-11-01 05:30:20 A
2001-11-02 05:30:20 D
2001-11-03 05:30:20 G
. .
. .
. .

如果想只显示为
日期 voltage
2001-11-01 A
2001-11-02 D
2001-11-03 G
. .
. .

可以用如下语句即可解决问题:
select datevalue(日期/时间)as "日期",voltage from test
解决的干净利索!

现在我想只显示为时间,即

时间 voltage
05:30:20 A
05:30:20 D
05:30:20 G
. .
. .
我仿照上面的句子写:
select timevalue(日期/时间)as "时间",voltage from test
但是结果不对.
我想用类似的干净利索的方法解决(因为毕竟只是显示一下而已!)
不知我说明白了没有?!
 
接受答案了.
 
后退
顶部