How to get chunks of three dates on providing specific date of month?
Here is a php code for that:
$holidays = array('Sunday'); $result = chunks('2017-10-13', $holidays); echo "<pre>"; print_r($result); function chunks($inputDate, $holidays) { $dayName = date('l',strtotime($inputDate)); //SANI: Getting Day name of date $lastDate = date('t',strtotime($inputDate)); //SANI: Getting Last Date of month $month = date('m',strtotime($inputDate)); //SANI: getting Month of date $year = date('Y',strtotime($inputDate)); //SANI: Getting Year of date $dateOuterLayer = array(); $loopIndex = 1; $LayerIndex = 0; $outerLayer = 0; for($m=1; $m<=$lastDate; $m++) //SANI: Loop through all dates of month { $monthDays = date("Y-m-d", strtotime("".$year."-".$month."-".$m."")); if(in_array(date('l',strtotime($monthDays)), $holidays)) continue; //SANI: Skip all holidays of month if($loopIndex == 1) $LayerIndex++; //SANI: Setting up Outer loop index $dateOuterLayer[$LayerIndex][$loopIndex-1] = $monthDays ; if($loopIndex == 3) $loopIndex = 0; //SANI: Setting up Inner loop index $loopIndex++; } foreach($dateOuterLayer as $chunk) //SANI: Loop through outer array { if(in_array($inputDate, $chunk)) //SANI: Check in which chunk that date exist. { return $chunk; //SANI: Return required chunk } } //SANI: complete array is: return $dateOuterLayer; }
- 3 views
Add new comment