PHPSnippets

매주의 시작일을 일요일로 정하고 지난주 일요일과 토요일을 구해 오는 함수

매주 시작 요일을 일요일로 지정하고, 한주 시작(일요일)과 종료(토요일)에 대한 정보를 반환하는 함수입니다.
일자를 입력하면 해당 일자가 속한 주의 시작(일요일)과 종료(토요일)에 해당하는 날짜를 반환합니다.

<?php
$ymd = $_GET[ymd] ? $_GET[ymd] : date("Y-m-d");
$symd = $_GET[symd] ? $_GET[symd] : date("Y-m-d", strtotime("-1 years", time()));
$page = $_GET[page] ? $_GET[page] : 1;

function lastSunToSat($ymd) {
    $time = strtotime($ymd);
    $today = date("Y-m-d", $time);

    $tday = date("w", $time);

    if($tday) $Sun = -2;
    else $Sun = -1;

    $last[Sun] = strtotime("{$Sun} Sunday", $time);
    $last[Sat] = strtotime("previous Saturday", $time);

    $last[Sun_ymd] = date("Y-m-d", $last[Sun]);
    $last[Sat_ymd] = date("Y-m-d", $last[Sat]);

    return $last;
}

$last = lastSunToSat($ymd);
?>
<form>
<input type="text" name="ymd" value="<?=$ymd?>" />
<input type="submit" value="전송" />
</form>
<?
echo "오늘 : ";
echo $ymd."<br />";
?>
지난주 일요일 : <?=date("Y-m-d", $last[Sun]);?><br />
지난주 토요일 : <?=date("Y-m-d", $last[Sat]);?><br />