• Status: Solved
• Priority: Medium
• Security: Public
• Views: 293

# How to find the difference between 2 dates?

I would like to know how can u get the difference between two given dates (using the getdate functions) , like u can subtract them directly in Delphi?
0
xkuma
1 Solution

Commented:
You have to convert back and forth to/from "julian" format.

Julian format gives you a unique continuous number, in such a way that differences of one day in the date, implies 1 unit difference in julian.

Look at this:

{ Date comes specified as year, month, day }
Function DateToJul(Y, M, D: integer): longint;
Var
x: single;
m1, m2: integer;
Begin
If m<3 then m1 := -1 else m1 := 0;
If m>2 then m2 := -1 else m2 := 0;

DateToJul:=Trunc((Y+m1)*365.25)+
Trunc((M-13*m1-m2)*30.6001)+D
end;

With that, you can do:

Var
diff: longint;

Begin
Diff:=DateToJul(1998, 11, 10) -    { Today's date }
DateToJul(1975, 5, 31)       { 5/31/75 }

"Diff" will contain the amount of days of difference between those two dates.

Of course, the counterpart (Jul-to-Date) also exists, but I think this is enough to solve your problem.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.