note 38885 added to function.time
| From: | php-general at lists dot php dot net | Date: | Sat, 10 Jan 2004 01:01:47 +0000 |
| Subject: | note 38885 added to function.time | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-63232@lists.php.net to get a copy of this message | ||
@jcaroll:
just using floor in calcElapsedTime() may cause less precision.
I prefer something like this:
function calcDateDiff( $date1, $date2 )
{
if( $date2 > $date1 )
{
die( "error: date1 has to be >= date2 in calcDateDiff($date1, $date2)" );
}
$diff = $date1-$date2;
$seconds = 0;
$hours = 0;
$minutes = 0;
if($diff % 86400 > 0)
{
$rest = ($diff % 86400);
$days = ($diff - $rest) / 86400;
if( $rest % 3600 > 0 )
{
$rest1 = ($rest % 3600);
$hours = ($rest - $rest1) / 3600;
if( $rest1 % 60 > 0 )
{
$rest2 = ($rest1 % 60);
$minutes = ($rest1 - $rest2) / 60;
$seconds = $rest2;
}else
$minutes = $rest1 / 60;
}else
$hours = $rest / 3600;
}else
$days = $diff / 86400;
return array( "days" => $days, "hours" => $hours, "minutes"
=> $minutes, "seconds" => $seconds);
}
print_r( calcDateDiff( strtotime( "now" ), strtotime( "2004-01-7 22:00:00" ) )
);
----
Manual Page -- http://www.php.net/manual/en/function.time.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+38885
Delete -- http://master.php.net/manage/user-notes.php?action=delete+38885&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+38885&report=yes
Search -- http://master.php.net/manage/user-notes.php