08. december 2005 - 01:23
Der er
1 kommentar
Funktion til at regne antallet af arbejdsage ud
Er der nogen der kan hjælpe mig med en funktion der regner antallet af arbejdsdage ud mellem to datoer. Inputtet i funktioner er de to datoer, og resultatt er antallet
Jeg har kigget i phpmanualen, men jeg kan ikke helt anvende det eksempel der er brugt der.
på forhånd tak
Michael
08. december 2005 - 10:10
#1
Måske kan du bruge den her:
A quick function to calculate the number of working days between two dates in YYYY-MM-DD format *without* iterating through every day and comparing it to the weekday. The start and end dates are included in the calculation. I don't know how to easily explain the final calculation, I just happened to notice the pattern in the test data and this is how I ended up expressing it. :)
<?php
function CalcWorkingDays ($start, $end) {
$starttime = gmmktime (0, 0, 0, substr ($start, 5, 2), substr ($start, 8, 2), substr ($start, 0, 4));
$endtime = gmmktime (0, 0, 0, substr ($end, 5, 2), substr ($end, 8, 2), substr ($end, 0, 4));
$days = (($endtime - $starttime) / 86400) + 1;
$d = $days % 7;
$w = date("w", $starttime);
$result = floor ($days / 7) * 5;
$result = $result + $d - (($d + $w) >= 7) - (($d + $w) >= 8) - ($w == 0);
return $result;
}
?>