关于日期计算(50分)

  • 主题发起人 主题发起人 yangyj
  • 开始时间 开始时间
Y

yangyj

Unregistered / Unconfirmed
GUEST, unregistred user!
var
s3: string;
d1,d2:tdate;
day:integer;
begin
s1:='2000-03-10';
d1:=strtodate(s1);
d2:=date(); //今天日期:'2000-03-28'
day:=d2-d1;
end
我要计算出日期d2和日期d1之间的天数,
day:=d2-d1这行代码要如何修改?请各位帮忙,谢谢!

 
好象可以直接算吧, 不敢肯定。date 可以直接运算。
 
Date是Double,Trunc(d2-d1)即可。
 
day:=trunc(d2-d1);
 
把2000-03-10该成00-03-10就行了!!:)_
 
原来o*o已经会答了。。。。。
 
是呀,沈兄,我会答的问题可不多呀。:-)
 
我不是有意的,我打开后,正好有事,当个了一会儿。。。。。

那里,我许多都是向o*o兄学习得到的.....
 
date()得出00-3-28
 
trunc(d2-d1) 不行:

比如: 1月2日 1:00 - 1月1日 23:00 ,
减出来是 2 个小时, 只有 0.x 天,而我们的习惯是虽然只差2个小时
但是也隔 1 天,因此,用:
用 trunc(d2)-trunc(d1) 比较合理
 
谢谢各位!
day:=trunc(d2-d1) 可以。
 
怎么忙着结束了?

日期只有当时间为12:00am时为整数。
看来应该是Round(d2)-Round(d1)

BTW: 我是开玩笑,沈兄怎么解释上了?见外了不是?呵呵。
因为你说的是: 原来o*o已经“会”答了。。。。。
 
var s3: string;
d1,d2:tdate;
day:integer;
begin
s1:='2000-03-10';
d1:=strtodate(s1);
d2:=date(); //今天日期:'2000-03-28'
day:=trunc(d2-d1);
end
在此d1,d2是 tdate 型而非 tdatetime 型,
我测试day:=trunc(d2-d1)可以。

 
HELP上的东西把我搞糊涂了。

Following are some examples of TDateTime values and their corresponding dates and times:

0 12/30/1899 12:00 am
2.75 1/1/1900 6:00 pm
-1.25 12/29/1899 6:00 am
35065 1/1/1996 12:00 am

12:00 am 是不是写错了?
 
又给错分了,把该给pipi的给我了。。呵呵。。赚了。。
 
后退
顶部