我有两个日期:1. 2013 年 2 月 1 日 2. 现在。因此,两个日期之间有 2 天的差异。如何以编程方式在 delphi 中获得这种不同的天数?
user1556433
问问题
9959 次
2 回答
10
使用以下DaysBetween
功能DateUtils
:
var
d1, d2: TDate;
begin
d1 := EncodeDate(2013, 02, 01);
d2 := EncodeDate(2013, 02, 04);
ShowMessage(IntToStr(DaysBetween(d2, d1)));
于 2013-02-04T11:04:58.513 回答
2
这TDateTime
是一种浮点格式,其中整数部分表示天数,而 zecimal 部分表示时间(作为 24 小时的一部分)。
所以如果你想得到一个从今天起两天后的日期,你只需添加2
到原始日期。如果您有两个日期并且想要以天为单位计算距离,请DaysBetween
按照 Andreas 的建议使用。
例子:
var D:TDateTime;
begin
D := EncodeDate(2013, 2, 1);
D := D + 2; // Adds two days.
end;
你也可以使用IncDay
函数 fromDateUtils
来做同样的事情;有人会说它更具可读性:
D := IncDay(D, 2);
于 2013-02-04T11:07:14.680 回答