请问如何计算今天到过去某个日期中间相差几天?我直接相减出来的是个1998-?-?形的,怎么显示为数字?

gez 2003-08-27 03:20:08
比如计算从2000年8月27日到今天2003年8月27日过了多少天,不要精确到小时,比如从2000年8月27日起,一到2000年8月28日就显示为1天就可以了,很急,请大家帮忙.
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnhgj 2003-08-27
  • 打赏
  • 举报
回复
var
time1,time2:TDatetime;
i:integer;
begin
time1 := 2003-8-28;
time2 := 2003-8-29;
i :=trunc(time1)-trunc(time2);
showmessage(inttostr(i));
end;
Dephiuser 2003-08-27
  • 打赏
  • 举报
回复
function Trunc(X: Extended): Int64;

trunc(date2)-trunc(date1)

^_^
draculacsdn 2003-08-27
  • 打赏
  • 举报
回复
很简单,TDataTime类型支持直接相减。
TDateTime date1,date2;
int days = date2-date1;即可。
如果你的时间是字符串,用
date1 = TDateTime("2002-08-28");
date2 = TDateTime("2002-08-29");
转换即可。
给分吧。
hanzq 2003-08-27
  • 打赏
  • 举报
回复
monthsbetween(const anow,athen:TDtatetime);引用单元dateutils
daysbetween(const anow,athen:TDatetime);引用单元dateutils
Spqk005 2003-08-27
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2165/2165703.xml?temp=3.171939E-02
Spqk005 2003-08-27
  • 打赏
  • 举报
回复
设d1、d2是Tdate类型,trunc(d2)-trunc(d1)就得到天数间隔
如果是字符串类型,d1='1999-02-13',d2='2000-11-23',则先转化Tdate类型,trunc(StrToDate(d2))-trunc(StrToDate(d1))
fyje 2003-08-27
  • 打赏
  • 举报
回复
var data1:Tdatetime;
i:integer;
begin
给data1赋值;
i:=date()-data1;
直接相减就是相差的天数,你是怎么做的,不妨贴出来看看

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧