求算两个日期间隔几年几月几日的函数

DelisPhi 2010-02-23 11:57:53
最好几时几分几秒也可求出……
返回值随便,是时间结构比较好。
如果DP自带此用途的函数可直接告之。
...全文
488 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
suuuu 2010-03-02
  • 打赏
  • 举报
回复
var
temp,temp1:tdatetime;
i,j,k:integer;
begin
temp:=strtodatetime(formatdatetime('yyyy-mm-dd',datetimepicker1.Date));
temp1:=strtodatetime(formatdatetime('yyyy-mm-dd',now()));
i:=YearsBetween(temp,temp1);
j:=MonthsBetween(IncYear(temp,-YearsBetween(temp,temp1)),temp1);
k:=DaysBetween(IncMonth(temp,-MonthsBetween(temp,temp1)),temp1);
showmessage('还有'+inttostr(i)+'年'+inttostr(j)+'月'+inttostr(k)+'天');
end;

至于几时几分几秒的话你自己再摸索一下,在uses部分加DateUtils单元,自己看看delphi帮助,这个单元中有很多函数的。
SQLDebug_Fan 2010-02-27
  • 打赏
  • 举报
回复
楼主需要的可能是两个日期之间相差的年、月、日,比如:2009-1-1和2010-2-20之间相差1年一月19天,用代码实现是:

var
iYear, iMonth, iDay: Integer;
dt1, dt2: TDateTime;
begin
iYear := YearsBetween(dt1, dt2);
IncYear(dt1, iYear);
iMonth := MonthsBetween(dt1, dt2);
IncMonth(dt1, iMonth);
iDay := DaysBetween(dt1, dt2);
end;
静远 2010-02-26
  • 打赏
  • 举报
回复
引用 5 楼 byteh 的回复:
引用 1 楼 bdmh 的回复:结合一下函数自己处理吧 DaysBetween MonthsBetween YearsBetween
用自带函数直接搞定!应用单元DateUtils


你说的是哪个函数?
池龙 2010-02-26
  • 打赏
  • 举报
回复
引用 7 楼 confucius 的回复:
FormatDateTime('yyyy-mm-dd hh:nn:ss', DateTime1 - DateTime2);


不要想当然,日期为0的时候可不是代表0年0月0日哦。

用DateTime1 - DateTime2,然后依次用365、12整除就是年和月,余数是日,小数部分可以直接用FormatDateTime
无条件为你 2010-02-26
  • 打赏
  • 举报
回复
引用 7 楼 confucius 的回复:
FormatDateTime('yyyy-mm-dd hh:nn:ss', DateTime1 - DateTime2);

这样写可行?
confucius 2010-02-26
  • 打赏
  • 举报
回复
FormatDateTime('yyyy-mm-dd hh:nn:ss', DateTime1 - DateTime2);
byteh 2010-02-24
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
结合一下函数自己处理吧
DaysBetween
MonthsBetween
YearsBetween

用自带函数直接搞定!应用单元DateUtils
ok1411 2010-02-24
  • 打赏
  • 举报
回复
TDatetime是double型,可以直接相减得到的整数部分为天数trunc(dt2-dt1)
相关函数formatdatetime,DecodeDateTime,**between
自由的企鹅 2010-02-24
  • 打赏
  • 举报
回复
formatedatetime
纯冰糖 2010-02-24
  • 打赏
  • 举报
回复
DaysBetween
bdmh 2010-02-24
  • 打赏
  • 举报
回复
结合一下函数自己处理吧
DaysBetween
MonthsBetween
YearsBetween

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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