TDateTime(100分)

  • 主题发起人 主题发起人 小天
  • 开始时间 开始时间

小天

Unregistered / Unconfirmed
GUEST, unregistred user!
1、请问一个TDateTime型的变量如何赋初值?如1900.1.1 00:00:00
2、一个Tdate和TTime变量怎么才能合成一个TDateTime变量呢?
一个Tdate的EditMask和TTime的EditMask又怎么才能合成一个TDateTime变量呢?
 
DateTime:=strtodatetime('1900-1-1 00:00:00');
 
1.
procedure TForm1.FormActivate(Sender: TObject);
var Mydate:Tdatetime;
begin
Mydate:=strtodatetime('1999-2-1 12:25:04');
Datetimepicker1.Date:=MyDate;
Datetimepicker2.Time:=Mydate;
end;


2.同上
 
TDateTime实际上是Double型,整数部分表示天,小数部分表示时间。
如:
1899-12-30 0:0:0 =0.0

1899-12-31 18:0:0=1.75
1900-1-1 6:0:0 =2.25

1899-12-29 0:0:0 =-1.0
1899-12-28 18:0:0=-2.75
看出规律了吧?

一般用函数处理转换:
strtodatetime
 
Tdate,Ttime也都是Tdatetime(doulbe)的。
所以datetostr,timetostr,datetimetostr只是显示结果不同,可混用。

>Tdate,TTime合成一个TDateTime变量:加法。

 
关于datetime,我还是推荐用
datetimepicker控件,用了它,一般关于日期和
时间方面的问题都可以解决
 
我也一般用他. :-)
 
“+”两个变量,用一个字符串表示出来。
 
datetimepicker control it's wonderful
 
var date:Tdatetime;
begin
date:=strtodatetime('1999-2-1 12:25:04');
datatime:=date+time

 
这样也可以.
yourdatetime:=EncodeDate(1900,1,1)+EncodeTime(1,2,3,4);
 
呵呵,好热闹,小天号召力很大嘛,还没睡觉?20号能回来?
 
后退
顶部