Описание

Функция возвращает метки времени начала и конца недели по ее номеру в году. Первый день недели — понедельник. Результат — массив, в котором первый елемент — метка времени полуночи понедельника, а второй — метка времени 23:59:59 воскресения.

Синтаксис

array getDatesByWeek(int $_week_number[, int $_year]);
Параметр Описание
$_week_number Номер недели в году, в формате ISO-8601.
$_year Четырехзначный номер года. Если параметр не указан, будет взят номер текущего года.

Пример использования

$dates = getDatesByWeek(date('W'));
echo date('Y-m-d H:i:s', $dates[0]) . ' - ' . date('Y-m-d H:i:s', $dates[1]) . '<br />';

$dates = getDatesByWeek(1, 2000);
echo date('Y-m-d H:i:s', $dates[0]) . ' - ' . date('Y-m-d H:i:s', $dates[1]) . '<br />';

Листинг

function getDatesByWeek($_week_number, $_year = null) {
	$year = $_year ? $_year : date('Y');
	$week_number = sprintf('%02d', $_week_number);
	$date_base = strtotime($year . 'W' . $week_number . '1 00:00:00');
	$date_limit = strtotime($year . 'W' . $week_number . '7 23:59:59');
	return array($date_base, $date_limit);
}