note 59091 added to function.date

From: Date: Fri, 25 Nov 2005 23:17:45 +0000
Subject: note 59091 added to function.date
Groups: php.notes 
Request: Send a blank email to php-notes+get-99116@lists.php.net to get a copy of this message
function for calculating N working days from a date. <?php /* $date - date (dd/mm/yyyy) $n - number of days $t - resulting timestamp */ function getNthWorkingDay($date,$n,&$t) { $arr = array(); list($day,$month,$year) = explode("/",$date); $ts = mktime(0,0,0,$month,$day,$year); for($i = 1; $i <= $n; $i++) { $_ts = mktime(0,0,0,$month,$day + $i,$year); $arr[$i - 1]["d"] = date("w",$_ts); $arr[$i - 1]["ts"] = $_ts; } $working_days = array(); $j = 0; for($i = 1; $i <= $n; $i++) { if($arr[$i - 1]["d"] != 6 AND $arr[$i - 1]["d"] != 0) { $working_days[$j]["d"] = $arr[$i - 1]["d"]; $working_days[$j]["ts"] = $arr[$i - 1]["ts"]; $j++; } } if(sizeOf($working_days) >= $n) { $t = $working_days[sizeOf($working_days) - 1]["ts"]; } else { $_n = $n - sizeOf($working_days); getNthWorkingDay(date("d/m/Y",$arr[$n-1]["ts"]),$_n,$t); } } ?> ---- Manual Page -- http://www.php.net/manual/en/function.date.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+59091 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+59091&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+59091&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+59091&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+59091&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+59091&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+59091&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+59091&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+59091&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#99116) next »