easter_date
(PHP 4, PHP 5, PHP 7, PHP 8)
easter_date — 주어진 연도의 부활절 자정에 대한 Unix 타임스탬프 가져오기
설명
easter_date(?int $year
= null
, int $mode
= CAL_EASTER_DEFAULT
): int
주어진 연도의 부활절 자정에 해당하는 Unix 타임스탬프를 반환합니다.
경고 이 함수는 연도가 Unix 타임스탬프 범위를 벗어나는 경우(즉, 일반적으로 32비트 시스템에서 1970년 이전 또는 2037년 이후) 경고를 생성합니다.
부활절 날짜는 AD325년 니케아 공의회에 의해 춘분 또는 그 이후에 떨어지는 첫 보름달 이후의 일요일로 정의되었습니다. 춘분은 항상 3월 21일에 있다고 가정하므로 계산은 보름달 날짜와 다음 일요일 날짜를 결정하는 것으로 줄어듭니다. 여기에 사용된 알고리즘은 Dionysius Exiguus에 의해 532년경에 도입되었습니다. 율리우스력(1753년 이전 몇 년 동안)에서는 간단한 19년 주기를 사용하여 달의 위상을 추적합니다. 그레고리력(1753년 이후 몇 년 동안 - Clavius와 Lilius가 고안하고 1582년 10월 교황 그레고리우스 13세에 의해 도입되었으며 1752년 9월 영국과 그 식민지에 도입)에서는 주기를 보다 정확하게 만들기 위해 두 가지 수정 요소가 추가되었습니다.
매개변수
year
- 1970년에서 2037년 사이의 숫자로 된 연도입니다. 생략하거나
null
인 경우 기본값은 현지 시간에 따른 현재 연도입니다. mode
CAL_EASTER_ALWAYS_JULIAN
으로 설정하면 율리우스력을 기반으로 부활절 날짜를 계산할 수 있습니다. 달력 상수도 참조하십시오.
반환 값
부활절 날짜를 Unix 타임스탬프로 표시합니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | year 는 이제 nullable입니다. |
Examples
예제 #1 easter_date() 예제
<?php
echo date("M-d-Y", easter_date(1999)); // Apr-04-1999
echo date("M-d-Y", easter_date(2000)); // Apr-23-2000
echo date("M-d-Y", easter_date(2001)); // Apr-15-2001
?>
메모
메모:
easter_date()는 PHP의 내부 날짜 및 시간 함수를 사용하는 대신 시스템의 C 라이브러리 시간 함수에 의존합니다. 결과적으로 easter_date()는 PHP의 기본 시간대를 사용하는 대신 TZ 환경 변수를 사용하여 작동해야 하는 시간대를 결정합니다. 이 경우 PHP의 다른 날짜 함수와 함께 이 함수를 사용할 때 예기치 않은 동작이 발생할 수 있습니다.
해결 방법으로 DateTime 및 DateInterval과 함께 easter_days()를 사용하여 다음과 같이 PHP 시간대에서 부활절 시작을 계산할 수 있습니다.
<?php
function get_easter_datetime($year) {
$base = new DateTime("$year-03-21");
$days = easter_days($year);
return $base->add(new DateInterval("P{$days}D"));
}
foreach (range(2012, 2015) as $year) {
printf("Easter in %d is on %s\n",
$year,
get_easter_datetime($year)->format('F j'));
}
?>
위의 예는 다음을 출력합니다.
Easter in 2012 is on April 8 Easter in 2013 is on March 31 Easter in 2014 is on April 20 Easter in 2015 is on April 5
기타
- easter_days() - 1970년 이전 또는 2037년 이후의 부활절을 계산하기 위해 주어진 연도에 대해 부활절이 속하는 3월 21일 이후의 일수 가져오기