gpt4 book ai didi

delphi - 计算两个日期之间的天数

转载 作者:行者123 更新时间:2023-12-03 15:40:56 25 4
gpt4 key购买 nike

请帮我查找两个日期之间的天数。

我有两个对象 TDBDateEdit date1 和 date2。

procedure Torder_form.date2Click(Sender: TObject);
var d3: TDateTime;
begin
d3:=date2.date - date1.date;
showmessage(datetostr(d3));
end.

我输入date1 = 07.10.2015

日期2 - 2015年11月15日

结果必须是:39

但是程序给了我结果:07.02.1900

<小时/>

我找到了 DaysBetween 函数。我这样改变了我的代码

procedure Torder_form.date2Click(Sender: TObject);
var d3: TDateTime;
begin
d3:=DaysBetween(date2.date,date1.date);
showmessage(datetostr(d3));
end.

但是程序显示结果:07.02.1900

最佳答案

您尝试在 TDateTime 值中存储非日期值(两个日期之间的天数)。由于您不需要日期,因此请使用 double 型,并将其解释为 double 型:

var
DaysDiff: Double;
begin
DaysDiff := Date2.Date - Date1.Date;
ShowMessage(FloatToStr(DaysDiff));
end;

更好的是,使用 DateUtils 中的函数来为您完成这项工作。如果您只需要一整天,请使用 DaysBetween:

var
DaysDiff: Integer;
begin
DaysDiff := DaysBetween(Date2.Date, Date1.Date);
ShowMessage(IntToStr(DaysDiff));
end;

如果您需要小数(部分)天数,请使用DaySpan:

var
DaysDiff: Double;
begin
DaysDiff := DaySpan(Date2.Date, Date1.Date);
ShowMessage(FloatToStr(DaysDiff));
end;

关于delphi - 计算两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32991065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com