Вот способ, который, я думаю, работает, но не уверен, что это самый эффективный способ.$ weekStart должен быть установлен на день, который вы считаете первым в неделе (0 = воскресенье, 1 = понедельник и т. д.), а $ date - дата ввода.
$weekStart = 0;
$date = '2011-06-1';
$timestamp = strtotime($date);
$dayOfWeek = date('N', $timestamp);
$startDate = mktime(0,0,0, date('n', $timestamp), date('j', $timestamp) - $dayOfWeek + $weekStart, date('Y', $timestamp));
$endDate = mktime(0,0,0, date('n', $timestamp), date('j', $timestamp) - $dayOfWeek + 6 + $weekStart, date('Y', $timestamp));
echo 'Week runs from ' . date('Y-m-d', $startDate) . ' to ' . date('Y-m-d', $endDate);