Прежде всего я пытаюсь получить даты следующих 7 дней после определенной даты.Для этого первого набора я хочу, чтобы мои результаты были с 11/11 по 11/11.Вот код и результат, который он мне дает.Это очень, очень странно.
$date = "October 31, 2011";
$nxtMon = strtotime(date("Y-m-d", strtotime($date)) . "monday");
$nxtTue = strtotime(date("Y-m-d", strtotime($date)) . "tuesday");
$nxtWed = strtotime(date("Y-m-d", strtotime($date)) . "wednesday");
$nxtThu = strtotime(date("Y-m-d", strtotime($date)) . "thursday");
$nxtFri = strtotime(date("Y-m-d", strtotime($date)) . "friday");
$nxtSat = strtotime(date("Y-m-d", strtotime($date)) . "saturday");
$nxtSun = strtotime(date("Y-m-d", strtotime($date)) . "sunday");
И это дает мне:
2011-10-31 <--- I Want the Next Monday
2011-11-01
2011-11-02
1969-12-31 <--- ???????
2011-11-04
2011-11-05
2011-11-06
Итак, я изменяю это на следующее:
$date = "October 31, 2011";
$nxtMon = strtotime(date("Y-m-d", strtotime($date)) . "next monday");
$nxtTue = strtotime(date("Y-m-d", strtotime($date)) . "next tuesday");
$nxtWed = strtotime(date("Y-m-d", strtotime($date)) . "next wednesday");
$nxtThu = strtotime(date("Y-m-d", strtotime($date)) . "next thursday");
$nxtFri = strtotime(date("Y-m-d", strtotime($date)) . "next friday");
$nxtSat = strtotime(date("Y-m-d", strtotime($date)) . "next saturday");
$nxtSun = strtotime(date("Y-m-d", strtotime($date)) . "next sunday");
И это даетя:
2011-11-07 <--- Wow, it works!
2011-11-01 <--- Wow, it works!
2011-11-02 <--- Wow, it works!
2011-11-03 <--- Wow, it works!
2011-11-04 <--- Wow, it works!
2011-11-05 <--- Wow, it works!
2011-11-06 <--- Wow, it works!
Теперь я пробую это с датой, равной сегодняшней дате:
$date = "October 22, 2011";
$nxtMon = strtotime(date("Y-m-d", strtotime($date)) . "next monday");
$nxtTue = strtotime(date("Y-m-d", strtotime($date)) . "next tuesday");
$nxtWed = strtotime(date("Y-m-d", strtotime($date)) . "next wednesday");
$nxtThu = strtotime(date("Y-m-d", strtotime($date)) . "next thursday");
$nxtFri = strtotime(date("Y-m-d", strtotime($date)) . "next friday");
$nxtSat = strtotime(date("Y-m-d", strtotime($date)) . "next saturday");
$nxtSun = strtotime(date("Y-m-d", strtotime($date)) . "next sunday");
И я получаю:
2011-10-24
2011-10-25
2011-10-26
2011-10-27
2011-10-28
2011-10-29
2011-10-23 Hooray, it still works!
Я, кажется, понялкак получить именно то, что я хочу, но правда в том, что до тех пор, пока я не напечатал этот вопрос, он, похоже, не работал правильно.Теперь вдруг это так.Кажется, иногда работает, а не в другое время, ничего не меняя.Учитывая причудливость этого 1969 года в первом результате, я чувствую, что понятия не имею, что происходит.
Похоже ли это на разумный способ сделать то, что я пытаюсь сделать?
Если кто-нибудь знает лучший способ ввести дату и получить следующие 7 дат, не могли бы вы мне помочь?Или бросить мне кость о том, что это за 1969 год?Казалось, все работало нормально до вчерашнего дня, когда я заметил, что результаты четверга не появляются на моей странице, и я проследил это до этого.Спасибо за ваше время.