note 61679 deleted from function.getdate by bobby
| From: | bobby@php.net | Date: | Fri, 08 Sep 2006 14:57:59 +0000 |
| Subject: | note 61679 deleted from function.getdate by bobby | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-116919@lists.php.net to get a copy of this message | ||
Note Submitter: WAYLER - suwala at timpadd dot pl
----
I think this is better method to calculate day difference between two timestamps:
<? php
if( $first_timestamp > $second_timestamp )
{
die('Reverse timestamps');
}
else
{
$first_date = getdate( $first_timestamp );
$second_date = getdate($second_timestamp);
$years_between = $second_date['year'] - $first_date['year'];
if($years_between==0)
{
$days_between = $second_date['yday'] - $first_date['yday'];
}
if($years_between>0)
{
$start_year = 365;
$count_365_years = 0;
$count_366_years = 0;
if($first_date['year']%4==0) $start_year = 366;
for($i = 1; $i<=$years_between-1; $i++)
{
if(($first_date['year']+$i)%4==0) $count_366_years++;
else{ $count_365_years++; }
}
$days_between = $start_year - $first_date['yday'] + 365*$count_365_years +
366*$count_366_years + $second_date['yday'];
}
}
?>
Should works every time :)