일요일 또는 월요일에 시작하는 주간에 전환하는 플래그가있는 다른 솔루션 중 하나를 기반으로합니다.
function getWeekForDate($date, $weekStartSunday = false){
$timestamp = strtotime($date);
// Week starts on Sunday
if($weekStartSunday){
$start = (date("D", $timestamp) == 'Sun') ? date('Y-m-d', $timestamp) : date('Y-m-d', strtotime('Last Sunday', $timestamp));
$end = (date("D", $timestamp) == 'Sat') ? date('Y-m-d', $timestamp) : date('Y-m-d', strtotime('Next Saturday', $timestamp));
} else { // Week starts on Monday
$start = (date("D", $timestamp) == 'Mon') ? date('Y-m-d', $timestamp) : date('Y-m-d', strtotime('Last Monday', $timestamp));
$end = (date("D", $timestamp) == 'Sun') ? date('Y-m-d', $timestamp) : date('Y-m-d', strtotime('Next Sunday', $timestamp));
}
return array('start' => $start, 'end' => $end);
}
date("N", $timestamp)
을 가져 오는 데 사용할 수 있습니다1..7
. 이전 버전에서는 트릭(date("w", $timestamp) + 6) % 7
을 사용하여0..6
월요일부터 값 을 가져올 수 있습니다 .