note 53452 added to function.time

From: 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

« previous php.notes (#89762) next »