Хорошо, это то, что у меня есть:
function getFirstDayOfWeek($iYear, $iWeekNumber)
{
if ( is_null($iYear) ) $iYear = date('Y');
if ( $iWeekNumber < 10 ) $iWeekNumber = '0'.$iWeekNumber;
$iTime = strtotime($iYear.'W'.$iWeekNumber);
return $iTime;
}
$firstdayofweek = getFirstDayOfWeek($data['year'], $data['week']);
$mDate = date('m', $firstdayofweek);
$dDate = date('d', $firstdayofweek);
$min = mktime(0, 0, 0, $mDate, $dDate, $data['year']);
$max = mktime(23, 59, 59, $dDate, $dDate+6, $data['year']);
Где это будет позже:
SELECT id
FROM training_activities
WHERE date time >= {$min}
AND time <= {$max}
Как вы можете до сих пор, время сохраняется в метке времени Unix.*
Этот код не работает должным образом.
Допустим, $ data year - 2011 и неделя 39.
Это показывает, что даты 26 / 09-04 / 10, 8 дней,в то время как неделя 39 - 29/09 - 02/10
Как я могу выбрать и показать недели правильно?