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의 다른 날짜 함수와 함께 이 함수를 사용할 때 예기치 않은 동작이 발생할 수 있습니다.

해결 방법으로 DateTimeDateInterval과 함께 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일 이후의 일수 가져오기