DateDelta
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
TDateTime类型的变量直接相减的结果就是它们相差的天数(可能有小数,表明时间)。
如果要一个整数,就再用Trunc或Round取整。
肯定行的,我就用的这个!
begin
a:=daysbetween(StrToDate('2002-5-26'),StrToDate('2001-02-01'));
end;
begin
a:=daysbetween(StrToDate('2002-5-26'),StrToDate('2001-02-01'));
end;加分了,呵呵:)
要能显示出相差的天数,按照楼上方法,为什么只显示结果为’1900-04-23‘
我用的是东问西答的办法,不行。
daysbetween是不是个函数?
能说说吗
不是天数呀,救急呀!!!!
procedure ShowDateDiff;
var
nDays: Integer;
begin
nDays:= Round(StrtoDate('2002-05-25') - StrtoDate('2001-02-01') + 0.5);
ShowMessage(IntToStr(nDays));
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DateUtils;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := FloatToStr(DaySpan(StrToDate('2002-5-1'),StrToDate('2001-5-1')));
end;end.
D: integer;
begin
D:=Round(StrtoDateTime('2002-01-01')-StrtoDatetime('2001-01-01')));
if D<0 then D:=0;
end;
我在d5里编译试过了,没问题
begin
a:=daysbetween(StrToDate('2002-5-26'),StrToDate('2001-02-01'));
end;