Electroman
May 17th, 2004, 09:15 AM
Does anyone know if there is a function that will tell me the amount of days between to dates?
NoteMe
May 17th, 2004, 09:35 AM
Found this on PHP.net...;)
T.E.
07-Jan-2004 05:15
Most functions calculating the difference in days between two days take some assumptions. They often ignore leap-years or decide to set a month to 30 days. This one here should work better and more precise.
I left one thing to fix: I supposed a leap in every four years. This assumption is wrong when passing a xx00-border, if xx00 mod 400 != 0. However, PHPs date-function won't work with 1900 or less and 2100 or more. So for the next few years within the given boarders of PHP, this one should work.
function date_diff($dat1,$dat2)
/* Dat1 and Dat2 passed as "YYYY-MM-DD" */
{
$tmp_dat1 = mktime(0,0,0,
substr($dat1,5,2),substr($dat1,8,2),substr($dat1,0,4));
$tmp_dat2 = mktime(0,0,0,
substr($dat2,5,2),substr($dat2,8,2),substr($dat2,0,4));
$yeardiff = date('Y',$tmp_dat1)-date('Y',$tmp_dat2);
/* a leap year in every 4 years and the days-difference */
$diff = date('z',$tmp_dat1)-date('z',$tmp_dat2) +
floor($yeardiff /4)*1461;
/* remainder */
for ($yeardiff = $yeardiff % 4; $yeardiff>0; $yeardiff--)
{
$diff += 365 + date('L',
mktime(0,0,0,1,1,
intval(
substr(
(($tmp_dat1>$tmp_dat2) ? $dat1 : $dat2),0,4))
-$yeardiff+1));
}
return $diff;
}
Electroman
May 17th, 2004, 09:37 AM
Thank You, Guess where this is going ;).
NoteMe
May 17th, 2004, 09:41 AM
Originally posted by Electroman
Thank You, Guess where this is going ;).
Then I guess all downhill from now...:D:D:D
Electroman
May 17th, 2004, 10:05 AM
Posted by NoteMe
Then I guess all downhill from now...:D:D:D :cry: :cry:
(I got lost and forgot to reply to this :rolleyes: )