note 102881 added to function.time

From: Date: Fri, 11 Mar 2011 23:34:39 +0000
Subject: note 102881 added to function.time
Groups: php.notes 
Request: Send a blank email to php-notes+get-177809@lists.php.net to get a copy of this message
My take on a function to find the differences between a timestamp and current time. Format: findTime($sometime['stamp'], '%d Days, %h Hours, %m Minutes'); Always use plural it will auto correct on singular results. You don't have to include all %d,%m,%h you may include only one. To get Total Hours remaining(including days) use %ho. To get Total Minutes remaining(including hours and days) use %mo. Take a look at the format I assumed to make any changes. function findTime($timestamp, $format) { $difference = $timestamp - time(); if($difference < 0) return false; else{ $min_only = intval(floor($difference / 60)); $hour_only = intval(floor($difference / 3600)); $days = intval(floor($difference / 86400)); $difference = $difference % 86400; $hours = intval(floor($difference / 3600)); $difference = $difference % 3600; $minutes = intval(floor($difference / 60)); if($minutes == 60){ $hours = $hours+1; $minutes = 0; } if($days == 0){ $format = str_replace('Days', '?', $format); $format = str_replace('Ds', '?', $format); $format = str_replace('%d', '', $format); } if($hours == 0){ $format = str_replace('Hours', '?', $format); $format = str_replace('Hs', '?', $format); $format = str_replace('%h', '', $format); } if($minutes == 0){ $format = str_replace('Minutes', '?', $format); $format = str_replace('Mins', '?', $format); $format = str_replace('Ms', '?', $format); $format = str_replace('%m', '', $format); } $format = str_replace('?,', '', $format); $format = str_replace('?:', '', $format); $format = str_replace('?', '', $format); $timeLeft = str_replace('%d', number_format($days), $format); $timeLeft = str_replace('%ho', number_format($hour_only), $timeLeft); $timeLeft = str_replace('%mo', number_format($min_only), $timeLeft); $timeLeft = str_replace('%h', number_format($hours), $timeLeft); $timeLeft = str_replace('%m', number_format($minutes), $timeLeft); if($days == 1){ $timeLeft = str_replace('Days', 'Day', $timeLeft); $timeLeft = str_replace('Ds', 'D', $timeLeft); } if($hours == 1 || $hour_only == 1){ $timeLeft = str_replace('Hours', 'Hour', $timeLeft); $timeLeft = str_replace('Hs', 'H', $timeLeft); } if($minutes == 1 || $min_only == 1){ $timeLeft = str_replace('Minutes', 'Minute', $timeLeft); $timeLeft = str_replace('Mins', 'Min', $timeLeft); $timeLeft = str_replace('Ms', 'M', $timeLeft); } return $timeLeft; } } ---- Server IP: 69.147.83.197 Probable Submitter: 76.119.97.84 ---- Manual Page -- http://www.php.net/manual/en/function.time.php Edit -- https://master.php.net/note/edit/102881 Del: integrated -- https://master.php.net/note/delete/102881/integrated Del: useless -- https://master.php.net/note/delete/102881/useless Del: bad code -- https://master.php.net/note/delete/102881/bad+code Del: spam -- https://master.php.net/note/delete/102881/spam Del: non-english -- https://master.php.net/note/delete/102881/non-english Del: in docs -- https://master.php.net/note/delete/102881/in+docs Del: other reasons-- https://master.php.net/note/delete/102881 Reject -- https://master.php.net/note/reject/102881 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#177809) next »