求两年月日之间的天数 急救!!!

laolie 2000-04-30 05:53:00
怎样求两年月日之间的天数如:2000-03-07到2000-04-25是几天?
...全文
275 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huiyugan 2000-05-03
  • 打赏
  • 举报
回复
zcw的回答就够了
其实在DELPHI中,日期是用实数来表示的,
至于哪一天是0,你可看看在线帮助。
hlbl11 2000-05-03
  • 打赏
  • 举报
回复
Var
Date1,Date2 : TDateTime;

Begin
Date1:=EncodeDate(2000,03,17);
Date2:=EncodeDate(2000,04,25);
Date2:=Date2-Date1;
End;
hlbl11 2000-05-03
  • 打赏
  • 举报
回复
Var
Date1,Date2 : TDateTime;
T1,T2
Begin
Date1:=EncodeDate(2000,03,17);
Data2:=EncodeDate(2000,04,25);

End;
zcw 2000-05-03
  • 打赏
  • 举报
回复
用大日期减小日期得出的整数部分就是相差天数了。
例:
Function TForm1.Date_H(date1,date2:tdate):integer;
begin
result:=trunc(date2-date1);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//相差天数
label1.caption:=inttostr(date_H(strtodate(edit1.text),strtodate(edit2.text)));
end;
hotyei 2000-04-30
  • 打赏
  • 举报
回复
使用CTime及CTimeSpan吧
mnbvcxz 2000-04-30
  • 打赏
  • 举报
回复
long DiffDays(word SYY, word SMM, word SDD, word EYY, word EMM, word EDD)
{
long d ;

SYY--; EYY--;
d = (EYY * 365L + EYY / 4L - EYY / 100L + EYY / 400L + Days[EMM - 1] + EDD)
- (SYY * 365L + SYY / 4L - SYY / 100L + SYY / 400L + Days[SMM - 1] + SDD);

SYY++; EYY++;
if (EMM > 2 && (EYY % 4 == 0 && EYY % 100 != 0 and and EYY % 400 == 0)) d++;
if (SMM > 2 && (SYY % 4 == 0 && SYY % 100 != 0 and and SYY % 400 == 0)) d--;

return d;
}

5,388

社区成员

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

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