note 47850 added to function.date
| From: | rasmussensATsynergismincDOTcom at osu1 dot php dot net | Date: | Thu, 02 Dec 2004 18:56:01 +0000 |
| Subject: | note 47850 added to function.date | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-81285@lists.php.net to get a copy of this message | ||
This function allows you to determine the difference HH:MM:SS between two dates. When you subtract
timestamps and end up with small numbers Date() will return incorrect hours. Only the minutes and
seconds will be correct. Of course 3600 would be Jan 1st 1970 1:00:00 am, but the problem is you
still cant get the correct hours from Date() because it will convert it to a GMT time. Here is a
simple function so that you can return the time for smaller numbers:
<?
function GetTime ($timedifference) {
if ($timedifference >= 3600) {
$hval = ($timedifference / 3600);
$hourtime = intval($hval);
$leftoverhours = ($timedifference % 3600);
$mval = ($leftoverhours / 60);
$minutetime = intval($mval);
$leftoverminutes = ($leftoverhours % 60);
$secondtime = intval($leftoverminutes);
$hourtime = str_pad($hourtime, 2, "0", STR_PAD_LEFT);
$minutetime = str_pad($minutetime, 2, "0", STR_PAD_LEFT);
$secondtime = str_pad($secondtime, 2, "0", STR_PAD_LEFT);
return "$hourtime:$minutetime:$secondtime";
}
if ($timedifference >= 60) {
$hourtime = 0;
$mval = ($timedifference / 60);
$minutetime = intval($mval);
$leftoverminutes = ($timedifference % 60);
$secondtime = intval($leftoverminutes);
$hourtime = str_pad($hourtime, 2, "0", STR_PAD_LEFT);
$minutetime = str_pad($minutetime, 2, "0", STR_PAD_LEFT);
$secondtime = str_pad($secondtime, 2, "0", STR_PAD_LEFT);
return "$hourtime:$minutetime:$secondtime";
}
$hourtime = 0;
$minutetime = 0;
if ($timedifference < 0 ) { $secondtime = 0; }
else { $secondtime = $timedifference; }
$hourtime = str_pad($hourtime, 2, "0", STR_PAD_LEFT);
$minutetime = str_pad($minutetime, 2, "0", STR_PAD_LEFT);
$secondtime = str_pad($secondtime, 2, "0", STR_PAD_LEFT);
return "$hourtime:$minutetime:$secondtime";
}
$mytime = GetTime(1101960767 - 1101961767);
echo $mytime;
?>
----
Manual Page -- http://www.php.net/manual/en/function.date.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+47850
Delete -- http://master.php.net/manage/user-notes.php?action=delete+47850&report=yes
Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+47850&report=yes&reason=bad+code
Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+47850&report=yes&reason=spam
Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+47850&report=yes&reason=useless+example
Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+47850&report=yes&reason=contains+commercial+links
Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+47850&report=yes&reason=useless+note
Reject -- http://master.php.net/manage/user-notes.php?action=reject+47850&report=yes
Search -- http://master.php.net/manage/user-notes.php