<?php
$month=11;
$year=2014;
// Mantech
$startDate = strtotime($month.'/1/'.$year);
$stopDate = strtotime('last day of this month ',$startDate);
if (date('D',$startDate)!='Sat'){
$startDate = strtotime('next saturday',$startDate);
}
if (date('D',$stopDate)!='Fri'){
$stopDate = strtotime('next friday',$stopDate);
}
// See if our contract is a monthly or weekly submit model
$startWeek = date('W',$startDate);
$stopWeek = date('W',$stopDate);
// Format startweek as ISO8601 eg.2014W15
$beginWeek = date('o',$startWeek).'W'.date('W',$startWeek);
for ($i=0; $i<=$stopWeek-$startWeek; $i++){
$thisWeek = strtotime($beginWeek.' +'.$i.' weeks');
$mask = '';
for ($j=0; $j<7; $j++){
$thisDay = strtotime('+'.$j.' days',$thisWeek);
if ($startDate<=$thisDay or $thisDay<=$stopDate){
$mask=$mask.'1';
} else {
$mask=$mask.'0';
}
}
echo $mask."\n";
}
echo (date('Y-m-d',$startDate).' - '.date('Y-m-d',$stopDate)."\n");
preferences:
36.53 ms | 402 KiB | 5 Q