Календарь на неделю

push

Новичок
Календарь на неделю

Делаю ежедневник, отображние заданий на неделю.
Вопросы следующие, как вычеслить дату начало недели и последующие дни до воскресения.
предполагаю что это можно реализовать спомощью mktime() вычислить сегодняшний день недели, и вычесть кол-во дней, чтобы получить понедельник, но мне кажется что я не в ту сторону думаю. Подскажите пожалуйста.
 

Фанат

oncle terrible
Команда форума
а откуда ты собрался брать кол-во дней, которое собрался вычитать из mktime?
 

push

Новичок
date('w'); получается нужно на 1 день меньше вычитать. с воскресением еще касяк так как 0, но можно переделать в 7...
 

Фанат

oncle terrible
Команда форума
ну и прекрасно.
такогда какие проблемы?
что значит "не в ту сторону думаю"? работает? отлично, займись другими делами.
не работает? задай конкретный вопрос, что не так

что за манера, блин, на любой чих садиться в позу роденовского мыслителя, и задаваться вопросом "а правильно ли мы живем? К тому листремимся?"
 

BadBlock

Новичок
вариант, который пришел сразу в голову:

PHP:
$cur_day = date("w", time()));
w - Порядковый номер дня недели (от 0 (воскресенье) до 6 (суббота))

если ты будешь делать так, как хочешь ты, тогда нужно не забывать, что если ты находишься на "крае" месяца, то соответственно нужно еще и месяц вычитать будет...
 

BadBlock

Новичок
Автор оригинала: Фанат
BadBlock
при чем здесь "край месяца"?
в вопросе было такое предложение "вычислить сегодняшний день недели, и вычесть кол-во дней, чтобы получить понедельник"

соответственно, если сегодня 1-ое число (среда) и он собирается вычитать дни, чтобы получить понедельник, не нужно забывать и о переходе на предыдущий месяц. Для этого нужно уже знать кол-во дней в предыдущем месяце.
 

push

Новичок
спасибо за ответы. выду из позы мыслителя и займусь делом =)
 

Фанат

oncle terrible
Команда форума
BadBlock
ну-ка приведи пример такой ошибки с краем месяца.
а то я что-то не врубаюсь
какое отношение месяцы имеют к дням недели
 

BadBlock

Новичок
Автор оригинала: Фанат
BadBlock
ну-ка приведи пример такой ошибки с краем месяца.
а то я что-то не врубаюсь
какое отношение месяцы имеют к дням недели
может быть ты и прав, если ему сначало проверять какой сейчас день недели, и уже из time() вычитать 86400*(кол-во дней) тогда можно обойтись и без того, что я здесь написал =)
 

Фанат

oncle terrible
Команда форума
не надо ничего вычитать из time.
надо пользоваться mktime. Как показано в примерах к date

а обойтись без того,что ты здесь написал, можно в любом случае.
поскольку ты слышал звон, да не знаешь, где он
 

Viktor_Rez

Новичок
Можно и вот так
PHP:
$next_monday = strtotime("Monday"); //Узнаем дату следующего понедельника, если хочешь узнать даты текущей недели то, strtotime("last Monday")
echo "Дата следующего понедельника: ".Date("Y-m-d",$next_monday)."<br /><br />";

echo "Даты всех дней недели от следующего понедельника <br />";
for($i = 1;$i < 7;$i++)
{
        $next_day = strtotime("+".$i." day",$next_monday); 
        echo Date("Y-m-d",$next_day)."<br />";
}
Таким макаром можно получать даты всех дней на две, три и т.д. недели наперёд (или прошедших).
 
Сверху