>  기사  >  백엔드 개발  >  PHP 프로그래밍 팁: 특정 날짜의 요일 계산

PHP 프로그래밍 팁: 특정 날짜의 요일 계산

WBOY
WBOY원래의
2024-02-29 18:12:03947검색

PHP 프로그래밍 팁: 특정 날짜의 요일 계산

PHP 프로그래밍 팁: 특정 날짜의 요일 계산

PHP 프로그래밍에서 우리는 특정 날짜의 요일을 계산해야 하는 상황에 자주 직면합니다. PHP는 날짜 및 시간 함수를 제공하지만 때로는 이 함수를 구현하기 위해 자체 코드를 작성해야 합니다. 이 기사에서는 PHP를 사용하여 특정 날짜의 요일을 계산하는 함수를 작성하는 방법을 소개하고 특정 코드 예제를 첨부합니다.

먼저 기본 계산 공식인 Zeiler의 공식을 이해해야 합니다. Zeiler의 공식은 특정 날짜의 요일을 계산하는 알고리즘입니다. 공식은 다음과 같습니다.

[ h = (q + [13(m+1]/5) + K + [K/4] + [ J /4] - 2J) % 7 ]

여기서, h는 요일(0은 일요일, 1은 월요일 등), q는 날짜(1~31), m은 월( 3은 3월, 4는 4월 등으로 계산되지만 1월과 2월은 전년도의 13월과 14월로 계산됩니다. K는 연도의 한 자리, J는 연도의 십의 자리입니다.

이 공식을 기초로 어떤 날짜의 요일을 계산하는 PHP 함수를 작성할 수 있습니다. 다음은 샘플 코드입니다.

function getWeekday($year, $month, $day) {
    if ($month < 3) {
        $year--;
        $month += 12;
    }
    
    $K = $year % 100;
    $J = floor($year / 100);
    
    $h = ($day + floor((13*($month+1))/5) + $K + floor($K/4) + floor($J/4) - 2*$J) % 7;
    
    return $h;
}

// 以2022年5月20日为例
$year = 2022;
$month = 5;
$day = 20;
$weekday = getWeekday($year, $month, $day);

$weekday_map = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];

echo "{$year}年{$month}月{$day}日是{$weekday_map[$weekday]}";

위의 샘플 코드에서는 getWeekday라는 함수를 정의합니다. 이 함수는 연도, 월, 일의 세 가지 매개 변수를 받아들인 다음 Zeiler의 공식에 따라 요일을 계산하고 다음을 반환합니다. 해당 번호 . 마지막으로, 요일이 포함된 매핑된 배열을 사용하여 숫자를 특정 요일 이름으로 변환하고 결과를 출력합니다.

이 기능을 통해 모든 날짜의 요일을 쉽게 계산할 수 있으며 PHP 프로그래밍에서 날짜 및 시간 관련 요구 사항에 대한 유연한 솔루션을 제공합니다. 이 글이 PHP 프로그래밍을 배우고 있는 독자들에게 도움이 되기를 바랍니다.

위 내용은 PHP 프로그래밍 팁: 특정 날짜의 요일 계산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.