Как установить значение диапазона дат для каждой недели, которая обновляется динамически с течением времени. Я хочу начать неделю в понедельник и закончить в воскресенье.
Пример вывода должен быть 2011-10-24,2011-10-31
Используя приведенное ниже, я получаю только дату месяца против ГГГГ-ММ-ДД
<?php $today = getdate(); $weekStartDate = $today['mday'] - $today['mon']+1; $weekEndDate = $today['mday'] - $today['wday']+7; echo "week start date:".$weekStartDate; echo "<br/>"; echo "week end date:".$weekEndDate; ?>
Как уже упоминалось в комментариях, используйте DateTime.
DateTime
<?php $dt = new DateTime('Monday this week'); // yes, DateTime is that awesome $interval = new DateInterval('P6D'); // 6 days ?> <dl> <dt>Week start date:</dt> <dd><?php echo $dt->format('Y-m-d') ?></dd> <dt>Week end date:</dt> <dd><?php echo $dt->add($interval)->format('Y-m-d') ?></dd> </dl>
Воспользуйтесь date('N') (день недели, 1 - 7):
date('N')
$monday = mktime(0, 0, 0, date('n'), date('j') - (date('N') - 1)); $sunday = mktime(0, 0, 0, date('n'), date('j') - (date('N') - 7)); echo date('Y-m-d', $monday); echo date('Y-m-d', $sunday);