DateUtils.YearsBetween();DateUtils.MonthsBetween();DateUtils.WeeksBetween();DateUtils.DaysBetween();DateUtils.HoursBetween();DateUtils.MinutesBetween();DateUtils.SecondsBetween();DateUtils.MilliSecondsBetween();DateUtils.YearSpan();DateUtils.MonthSpan();DateUtils.WeekSpan();DateUtils.DaySpan();DateUtils.HourSpan();DateUtils.MinuteSpan();DateUtils.SecondSpan();DateUtils.MilliSecondSpan();
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}uses DateUtils;procedure TForm1.FormCreate(Sender: TObject);var t1,t2: TDateTime; i: Int64; d: Double;begin t1 := StrToDateTime('2009-5-20 11:22:33'); t2 := StrToDateTime('2020-9-21 22:33:44'); i := YearsBetween(t1, t2); //11 i := MonthsBetween(t1, t2); //136 i := WeeksBetween(t1, t2); //591 i := DaysBetween(t1, t2); //4142 i := HoursBetween(t1, t2); //99419 i := MinutesBetween(t1, t2); //5965151 i := SecondsBetween(t1, t2); //357909071 i := MilliSecondsBetween(t1, t2); //357909070999 i := YearsBetween(t2, t1); //11, 参数无先后 {下面这个系列返回的时间间隔是 Double 类型的, 更精确} d := YearSpan(t1, t2); //11.3414540712855 d := MonthSpan(t1, t2); //136.097448855426 d := WeekSpan(t1, t2); //591.780871362434 d := DaySpan(t1, t2); //4142.46609953704 d := HourSpan(t1, t2); //99419.1863888889 d := MinuteSpan(t1, t2); //5965151.18333333 d := SecondSpan(t1, t2); //357909071 d := MilliSecondSpan(t1, t2); //357909071000end;end.