年龄问题!!(20分)

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

ltqlyy125

Unregistered / Unconfirmed
GUEST, unregistred user!
在数据库表中,有一个“出生日期”字段,我想通过报表输出年龄,(即当前日期-出生日期),但老是写不对!!
 
算时间在delphi中是最容易的,如下:

var ss : TDateTime

其实Tdatetime是一个双精度的浮点数,它的小数点前表示天数:

如, ss := ss + 20 表示从ss开始向后20天,如果 ss = 234.567
它就表示 234.567天,当然是从公元0年开始计算的!




--------------------------------------------------------------------------------


时间处理的秘密
TDateTime类型实际上就是一个double(双精度数). 整数部分是日期小数部分是时间。例如

var
DateTime : TDateTime;
Date : TDateTime;
Time : TDateTime;
begin
DateTime := now;
//获得日期
Date := Trunc( DateTime );
//获得时间
Time := Frac( DateTime );
end;

日期运算
如果你想增加几天,只需要加一个天数就可以了

var
DateTime : TDateTime;
begin
DateTime := now;
//七天以后
DateTime := DateTime + 7;
end;

想要知道两个日期的差距,只需要互相减一下就可以了。

var
StartTime, StopTime, Difference : TDateTime;
begin
Difference := StopTime - StartTime;
end;

 
DecodeDate(Fieldbyname('Birth').AsDateTime,y1,m1,d1);
CurrentYear-y1即是年龄
 
后退
顶部