関数・クラス解説

easter_date

version:PHP 4, PHP 5, PHP 7 (公式)

指定した年における復活祭の真夜中のUnix時を得る

公式リファレンス

書式

easter_date ([ int $year = date("Y") [, int $method = CAL_EASTER_DEFAULT ]] ) : int

説明

指定した年yearにおける復活祭の真夜中のUnix時を返します。

警告

この関数は、年がUnixタイムスタンプの範囲を越える時 (すなわち、32bitシステムでは通常1970より前、または2037より後)に警告を発生させます。

復活祭の日付は、西暦325年の Nicaea 会議で春分の日の後の 最初の満月の後の日曜日として定められました。 満月とその次の日曜日の日付の計算を簡単にするために 春分の日は常に3月21日になるとして計算されます。 ここで用いるアルゴリズムは、532年頃、Dionysius Exiguus により 導出されたものです。(1753年より前の年に関して)ユリウス暦の元では 月の周期を追うために簡単な19年周期が用いられます。グレゴリウス暦 (1753年以降。この暦は、ClaviusとLiliusにより考案され、 教皇グレゴリウス13世により1582年10月に導入、イギリス及びその植民地に 1752年9月に導入された。) のもとで、二つの補正係数が周期をより正確に作成するために追加されました。

パラメータ

year
1970 から 2037 までの年。省略した場合は、ローカルタイムにおける現在の年を使います。
method
CAL_EASTER_ALWAYS_JULIAN を設定すると、 ユリウス暦のカレンダをベースにして復活祭の日付が計算できます。 calendar の定数 を参照してください。

返値

復活祭の日を Unix タイムスタンプで返します。

注意

注意: easter_date() は、システムの C ライブラリの関数を利用します。 PHP 組み込みの日付・時刻関数を使うわけではなりません。 つまり、easter_date() が利用するタイムゾーンは環境変数 TZ の値であり、PHP の デフォルトのタイムゾーンは考慮しません。 その結果、PHP の他の日付関数と組み合わせて使ったときに予期せぬ結果になる可能性があります。 回避策として、easter_days() を DateTime や DateInterval と組み合わせて使えば、PHP で設定したタイムゾーンにおける復活祭の開始時刻を算出できます。 <?phpfunction 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 8Easter in 2013 is on March 31Easter in 2014 is on April 20Easter in 2015 is on April 5
警告 この関数は、年がUnixタイムスタンプの範囲を越える時 (すなわち、32bitシステムでは通常1970より前、または2037より後)に警告を発生させます。

サンプル

例1 easter_date() の例

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

参考

  • 1970年以前または2037年以降の復活祭の計算に関しては、 easter_days() - 指定した年において、3 月 21 日から復活祭までの日数を得る を参照ください。
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール