note 53452 deleted from function.time by aidan

From: Date: Sat, 08 Oct 2005 01:02:17 +0000
Subject: note 53452 deleted from function.time by aidan
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-96599@lists.php.net to get a copy of this message
Note Submitter: shazow at gmail dot com ---- 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" ?>

« previous php.notes (#96599) next »