日付の範囲を出すphp
<?php // 測定開始日 $start_day = strtotime('2016/04/23'); $today = strtotime( date('Y/m/d') ); $count_week = 8; //終了日を出すために週に+1 $count_end = $count_week + 1; $i = 0; $ret = array(); $ret2 = array(); while( $count_end >= $i ){ $ret[$i] = strtotime( $i.'week', $start_day); $ret2[$i] = date('Y/m/d' ,strtotime( $i.'week', $start_day)); if( $i >= 1){ $range_start = $ret[$i - 1]; $range_end = strtotime( '-1 day', $ret[$i]); if( in_array($today, range( $range_start, $range_end ) ) ) echo $i."週目に該当<br>" ; } $i++; } print_r($ret); print_r($ret2); ?>
<?php $start_day = strtotime('2016/04/21'); $add = 7*8; // カレンダー作成 $week_count=1; $ary=array(); for($i=0; $i<$add; $i++) { $buf = strtotime($i. ' days', $start_day); $ary[date('Y/m/d', $buf)]['date'] = date('Y/m/d', $buf); $ary[date('Y/m/d', $buf)]['w'] = date('w', $buf); if($i%7==0 and $i!=0) $week_count++; $ary[date('Y/m/d', $buf)]['week_count'] = $week_count; } print_r($ary); // 該当日抽出 $today = date('Y/m/d'); if(array_key_exists($today, $ary)){ print_r($ary[$today]); } ?>
なるほどー。