note 61679 added to function.getdate
| From: | WAYLER-suwala at timpadd dot pl | Date: | Thu, 09 Feb 2006 12:13:16 +0000 |
| Subject: | note 61679 added to function.getdate | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-103355@lists.php.net to get a copy of this message | ||
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 :)
----
Server IP: 81.223.254.85
Probable Submitter: 85.221.136.90
----
Manual Page -- http://www.php.net/manual/en/function.getdate.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+61679
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+61679&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+61679&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+61679&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+61679&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+61679&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+61679&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+61679&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+61679&report=yes
Search -- http://master.php.net/manage/user-notes.php