> 백엔드 개발 > PHP 튜토리얼 > PHP에서 주 번호나 날짜가 주어지면 요일을 계산하는 방법은 무엇입니까?

PHP에서 주 번호나 날짜가 주어지면 요일을 계산하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-26 09:20:02
원래의
586명이 탐색했습니다.

How to Calculate the Days of the Week Given a Week Number or Date in PHP?

주 번호가 지정된 요일 계산

날짜 -u %W를 사용하여 얻은 것과 같이 주 번호가 지정됨 명령을 사용하면 해당 주의 요일에 해당하는 날짜를 생성하는 것이 유용한 경우가 많습니다. 예부터 시작하겠습니다.

2008년 40주를 생각해 보세요. ISO 8601의 주 번호 지정 규칙을 사용하면 해당 주의 요일은 다음과 같을 것으로 예상됩니다.

2008-10-06
2008-10-07
2008-10-08
2008-10-09
2008-10-10
2008-10-11
2008-10-12
로그인 후 복사

PHP 솔루션:

PHP에서 날짜 함수는 다양한 형식 지정 옵션을 제공합니다. 다음은 특정 주의 요일에 대한 날짜를 인쇄하는 간단한 루프입니다.

<code class="php">$week_number = 40;
$year = 2008;
for($day=1; $day<=7; $day++)
{
    echo date('Y-m-d', strtotime($year."W".$week_number.$day))."\n";
}
로그인 후 복사

이 루프는 일주일 중 7일을 반복하고 해당 날짜를 YYYY-MM-DD 형식으로 인쇄합니다. .

주어진 날짜에서 요일을 계산하는 PHP 솔루션:

다른 시나리오에는 특정 날짜가 지정된 요일을 계산하는 것이 포함됩니다. 다음은 이를 수행하는 PHP 함수입니다:

<code class="php">function week_from_monday($date) {
    // Extract date parts
    list($day, $month, $year) = explode("-", $date);

    // Get the weekday of the given date
    $wkday = date('l',mktime('0','0','0', $month, $day, $year));

    // Calculate the number of days to subtract to get Monday
    switch($wkday) {
        case 'Monday': $numDaysToMon = 0; break;
        case 'Tuesday': $numDaysToMon = 1; break;
        case 'Wednesday': $numDaysToMon = 2; break;
        case 'Thursday': $numDaysToMon = 3; break;
        case 'Friday': $numDaysToMon = 4; break;
        case 'Saturday': $numDaysToMon = 5; break;
        case 'Sunday': $numDaysToMon = 6; break;   
    }

    // Get timestamp of Monday
    $monday = mktime('0','0','0', $month, $day-$numDaysToMon, $year);

    // Calculate dates for 7 days from Monday
    $dates = array();
    $seconds_in_a_day = 86400;
    for($i=0; $i<7; $i++)
    {
        $dates[$i] = date('Y-m-d',$monday+($seconds_in_a_day*$i));
    }

    return $dates;
}
로그인 후 복사

사용 예:

<code class="php">$dates = week_from_monday('07-10-2008');
print_r($dates);
로그인 후 복사

출력:

Array
(
    [0] => 2008-10-06
    [1] => 2008-10-07
    [2] => 2008-10-08
    [3] => 2008-10-09
    [4] => 2008-10-10
    [5] => 2008-10-11
    [6] => 2008-10-12
)</code>
로그인 후 복사

위 내용은 PHP에서 주 번호나 날짜가 주어지면 요일을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿