Я создаю календарь, который также отображает однонедельный «вид».Навигация по календарю в PHP (по неделям)
Имея некоторые проблемы с «на прошлой неделе» и «на следующей неделе» нав ...
Вот что я получил:
/*
Date to calc the start and end of week.
$thisYear, $thisMonth, $thisDay are passed in
*/
$combineDate = $thisYear . "-" . $thisMonth . "-" . $thisDay . " 00:00:00";
//$timeString = strtotime($combineDate); (tried with this format, but same result)
//calculate last week's date
$lastWeek_year = date('Y',strtotime("$combineDate -1 week"));
$lastWeek_month = date('n',strtotime("$combineDate -1 week"));
$lastWeek_day = date('j',strtotime("$combineDate -1 week"));
//calculate next week's date
$nextWeek_year = date('Y',strtotime("$combineDate +1 week"));
$nextWeek_month = date('n',strtotime("$combineDate +1 week"));
$nextWeek_day = date('j',strtotime("$combineDate +1 week"));
[links look like this:]
//last week
<a href="$currentPage?day=$lastWeek_day&month=$lastWeek_month&year=$lastWeek_year">
//next week
<a href="$currentPage?day=$nextWeek_day&month=$nextWeek_month&year=$nextWeek_year">
прекрасно работает за текущий месяц и в следующем месяце, как конец октября (2015) и начало ноября осенью в субботу и воскресенье (соответственно)!
Но он распадается в декабре, потому что первый является вторник (DOH!)
И это ломает при переходе от 2015 до 2016 ..
Я пробовал несколько различных подходов с использованием StrToTime .. .
Кто-нибудь получил чистое решение?
Большое спасибо!
Для уточнения: вышеуказанная функция имеет в ней строку даты (ГГГГ, ММ, ДД). Из этого я создаю недельный календарь. Поэтому мне нужно рассчитать дату (ГГГГ, ММ, ДД) в первый день недели (воскресенье) и дату последнего дня недели (субботу). – dankinship