note 53452 added to function.time
| From: | shazow at gmail dot com | Date: | Thu, 02 Jun 2005 03:45:56 +0000 |
| Subject: | note 53452 added to function.time | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-89762@lists.php.net to get a copy of this message | ||
Here is a simply function which takes in a given date (in Unix Timestamp format) and a given amount
to round (default 0), and converts it to a readable string of the highest plural denomination.
For example, 325 seconds elapsed will become "5 minutes". Or, 3628800 seconds elapsed will
become "6 weeks".
<?
function getElapsedString($originalDate, $roundTo=0) {
$elapsedTime = time() - $originalDate;
if($elapsedTime==1) {
// One second
$elapsedString = $elapsedTime . " second";
} else if($elapsedTime<(60*2)) {
// Seconds
$elapsedString = $elapsedTime . " seconds";
} else if($elapsedTime<(60*60*2)) {
// Minutes
$elapsedString = round($elapsedTime/60, $roundTo) . " minutes";
} else if($elapsedTime<(60*60*24*2)) {
// Hours
$elapsedString = round($elapsedTime/60/60, $roundTo) . " hours";
} else if($elapsedTime<(60*60*24*7*2)) {
// Days
$elapsedString = round($elapsedTime/60/60/24, $roundTo) . " days";
} else if($elapsedTime<(60*60*24*30*2)) {
// Weeks
$elapsedString = round($elapsedTime/60/60/24/7, $roundTo) . " weeks";
} else if($elapsedTime<(60*60*24*365*2)) {
// Months
$elapsedString = round($elapsedTime/60/60/24/12, $roundTo) . " months";
} else {
// Years
$elapsedString = round($elapsedTime/60/60/24/365, $roundTo) . " years";
}
return $elapsedString;
}
?>
Example useage:
<?
echo getElapsedString(time()-3650); // Gives "61 minutes"
echo getElapsedString(time()-424242, 2); // Gives "4.91 days"
?>
----
Manual Page -- http://www.php.net/manual/en/function.time.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+53452
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+53452&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+53452&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+53452&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+53452&report=yes&reason=useless
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+53452&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+53452&report=yes
Search -- http://master.php.net/manage/user-notes.php