Last active
August 29, 2015 14:15
-
-
Save ognjenm/b7ad83287dc5734e5271 to your computer and use it in GitHub Desktop.
Broj radnih dana izmedju dva datuma (sa praznicima)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* @param $pocetni_datum | |
* @param $krajnji_datum | |
* @return integer | |
* @author Ognjen Miletic, osnova uzeta sa interneta | |
* ne znam gdje, dodat dio za praznike | |
*/ | |
public static function getBrojRadnihDana($pocetni_datum, $krajnji_datum) | |
{ | |
//$pocetni_datum = new DateTime('2012-09-06'); | |
//$krajnji_datum = new DateTime('2012-09-11'); | |
//Dodajem jedan dan na zadnji - mora tako :-) | |
$krajnji_datum->modify('+1 day'); | |
$interval = $krajnji_datum->diff($pocetni_datum); | |
$ukupno_dana = $interval->days; | |
// kreiramo period datuma (P1D = 1 dan) | |
$period = new DatePeriod($pocetni_datum, new DateInterval('P1D'), $krajnji_datum); | |
// array praznika | |
//TODO: dinamicki kreirati godinu | |
$praznici = array(''); | |
foreach($period as $dt) { | |
$trenutni = $dt->format('D'); | |
// Ako je trenutni datum u $praznici - oduzmi | |
if (in_array($dt->format('Y-m-d'), $praznici)) { | |
//TODO: ovdje bi trebalo oduzeti dva dana (slavi se dva dana ne računajući nedjelju) | |
if($trenutni == 'Sat') $ukupno_dana--; //ako je subota oduzimam ponedjeljak | |
else $ukupno_dana = $ukupno_dana - 2; //ako je nedjelja oduzimam ponedjeljak i utorak | |
} | |
// oduzmi ako je subota ili neđelja | |
if ($trenutni == 'Sat' || $trenutni == 'Sun') { | |
$ukupno_dana--; | |
} | |
} | |
return $ukupno_dana; // 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment