<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.calendar.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.easter-date.php',
    1 => 'easter_date',
    2 => 'Liefert den Unix-Zeitstempel f&uuml;r die lokale Mitternacht am Ostersonntag des angegebenen Jahres',
  ),
  'up' => 
  array (
    0 => 'ref.calendar.php',
    1 => 'Calendar Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.cal-to-jd.php',
    1 => 'cal_to_jd',
  ),
  'next' => 
  array (
    0 => 'function.easter-days.php',
    1 => 'easter_days',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/calendar/functions/easter-date.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.easter-date" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">easter_date</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">easter_date</span> &mdash; <span class="dc-title">Liefert den Unix-Zeitstempel für die lokale Mitternacht am Ostersonntag des angegebenen Jahres</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.easter-date-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>easter_date</strong></span>(<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></span> <code class="parameter">$year</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$mode</code><span class="initializer"> = <strong><code><a href="calendar.constants.php#constant.cal-easter-default">CAL_EASTER_DEFAULT</a></code></strong></span></span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

  <p class="para rdfs-comment">
   Diese Funktion gibt den Unix-Timestamp (in Sekunden seit 1970) zurück,
   der dem Begin des Ostersonntag im durch <code class="parameter">year</code>
   spezifizierten Jahr entspricht.
  </p>
  <p class="para">
   Das Datum des Osterfestes wurde im Jahre 325 auf dem Konzil von Nicaea auf
   den ersten Sonntag nach Frühlingsvollmond, also dem Vollmond während oder
   direkt nach der Tagundnachtgleiche am 21. März, festgelegt. Der hier
   genutzte Algorithmus wurde um das Jahr 532 von Dionysius Exiguus
   eingeführt. Bis zum Jahr 1752 wird nach dem Julianischen Kalender ein
   einfacher 19jähriger Zyklus für die Bestimmung der Mondphasen benutzt. Im
   September 1752 übernahmen dann auch Britannien und seine Kolonien den von
   Clavius und Lilius vorgeschlagenen und im Oktober 1582 von Papst Gregor dem
   XIII. eingeführten Gregorianischen Kalender. Hierdurch wurden zwei
   Korrekturfaktoren eingeführt, um den Zyklus genauer abzubilden.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.easter-date-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">year</code></dt>
     <dd>
      <p class="para">
       Das Jahr muss auf 32-Bit-Systemen eine Zahl zwischen 1970 und 2037 sein
       und auf 64-Bit-Systemen eine Zahl zwischen 1970 und 2.000.000.000. Wenn
       nicht angegeben oder <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>, wird das aktuelle Jahr gemäß der lokalen
       Zeit verwendet.
      </p>
     </dd>
    
    
     <dt><code class="parameter">mode</code></dt>
     <dd>
      <p class="para">
       Ermöglicht die Berechnung des Osterdatums basierend auf dem Julianischen
       Kalender, wenn auf <strong><code><a href="calendar.constants.php#constant.cal-easter-always-julian">CAL_EASTER_ALWAYS_JULIAN</a></code></strong> gesetzt.
       Siehe auch <a href="calendar.constants.php" class="link">Kalender-Konstanten</a>.
       </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.easter-date-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Das Osterdatum als Unix-Timestamp.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.easter-date-errors">
  <h3 class="title">Fehler/Exceptions</h3>
  <p class="para">
   Wenn auf einem 32-bit System eine Jahreszahl vor 1970 oder nach 2037 oder
   auf einem 64-Bit-System eine Jahreszahl nach 2.000.000.000 angegeben wird,
   wird ein <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> geworfen.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.easter-date-changelog">
  <h3 class="title">Changelog</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Beschreibung</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.3.0</td>
      <td>
       Auf 64-Bit-Systemen akzeptiert der Parameter <code class="parameter">Jahr</code>
       nun Werte innerhalb des Bereichs von 1970 bis 2.000.000.000.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">year</code> ist jetzt nullbar.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       Wenn <code class="parameter">year</code> außerhalb des zulässigen Bereichs
       liegt, wird nun ein <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> geworfen; zuvor
       wurde ein Fehler der Stufe <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> ausgegeben
       und die Funktion gab <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurück.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.easter-date-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 <span class="function"><strong>easter_date()</strong></span>-Beispiel</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"M-d-Y"</span><span style="color: #007700">, </span><span style="color: #0000BB">easter_date</span><span style="color: #007700">(</span><span style="color: #0000BB">1999</span><span style="color: #007700">));        </span><span style="color: #FF8000">// Apr-04-1999<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"M-d-Y"</span><span style="color: #007700">, </span><span style="color: #0000BB">easter_date</span><span style="color: #007700">(</span><span style="color: #0000BB">2000</span><span style="color: #007700">));        </span><span style="color: #FF8000">// Apr-23-2000<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">"M-d-Y"</span><span style="color: #007700">, </span><span style="color: #0000BB">easter_date</span><span style="color: #007700">(</span><span style="color: #0000BB">2001</span><span style="color: #007700">));        </span><span style="color: #FF8000">// Apr-15-2001<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>

   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Verwendung von <span class="function"><strong>easter_date()</strong></span> mit <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$timestamp </span><span style="color: #007700">= </span><span style="color: #0000BB">easter_date</span><span style="color: #007700">(</span><span style="color: #0000BB">2023</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$datetime </span><span style="color: #007700">= new </span><span style="color: #0000BB">\DateTime</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$datetime</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setTimestamp</span><span style="color: #007700">(</span><span style="color: #0000BB">$timestamp</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #0000BB">$datetime</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">format</span><span style="color: #007700">(</span><span style="color: #DD0000">'M-d-Y'</span><span style="color: #007700">); </span><span style="color: #FF8000">// Apr-09-2023<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.easter-date-notes">
  <h3 class="title">Anmerkungen</h3>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    <span class="function"><strong>easter_date()</strong></span> verlässt sich auf die Zeitfunktionen der
    C-Bibliothek des Systems, anstatt die internen Datums- und Zeitfunktionen
    von PHP zu verwenden. Infolgedessen verwendet
    <span class="function"><strong>easter_date()</strong></span> die Umgebungsvariable
    <code class="literal">TZ</code>, um die Zeitzone zu bestimmen, in der sie arbeiten
    soll, anstatt die <a href="datetime.configuration.php#ini.date.timezone" class="link">Standardzeitzone</a>
    von PHP zu verwenden. Dies kann unerwartetes Verhalten zur Folge haben,
    wenn diese Funktion in Verbindung mit anderen Datumsfunktionen in PHP
    verwendet wird.
   </p>
   <p class="para">
    Als Workaround kann <span class="function"><a href="function.easter-days.php" class="function">easter_days()</a></span> mit
    <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span> und <span class="classname"><a href="class.dateinterval.php" class="classname">DateInterval</a></span>
    verwendet werden, um den Beginn von Ostern in der von PHP eingestellten
    Zeitzone wie folgt zu berechnen:
   </p>
   <div class="informalexample">
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">get_easter_datetime</span><span style="color: #007700">(</span><span style="color: #0000BB">$year</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$base </span><span style="color: #007700">= new </span><span style="color: #0000BB">DateTime</span><span style="color: #007700">(</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$year</span><span style="color: #DD0000">-03-21"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$days </span><span style="color: #007700">= </span><span style="color: #0000BB">easter_days</span><span style="color: #007700">(</span><span style="color: #0000BB">$year</span><span style="color: #007700">);<br /><br />    return </span><span style="color: #0000BB">$base</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">add</span><span style="color: #007700">(new </span><span style="color: #0000BB">DateInterval</span><span style="color: #007700">(</span><span style="color: #DD0000">"P</span><span style="color: #007700">{</span><span style="color: #0000BB">$days</span><span style="color: #007700">}</span><span style="color: #DD0000">D"</span><span style="color: #007700">));<br />}<br /><br />foreach (</span><span style="color: #0000BB">range</span><span style="color: #007700">(</span><span style="color: #0000BB">2012</span><span style="color: #007700">, </span><span style="color: #0000BB">2015</span><span style="color: #007700">) as </span><span style="color: #0000BB">$year</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Ostern %d ist am %s\n"</span><span style="color: #007700">,<br />           </span><span style="color: #0000BB">$year</span><span style="color: #007700">,<br />           </span><span style="color: #0000BB">get_easter_datetime</span><span style="color: #007700">(</span><span style="color: #0000BB">$year</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">format</span><span style="color: #007700">(</span><span style="color: #DD0000">'j.n.'</span><span style="color: #007700">));<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <p class="para">Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p>
    <div class="example-contents screen">
<div class="notescode"><pre class="notescode">Ostern 2012 ist am 8.4.
Ostern 2013 ist am 31.3.
Ostern 2014 ist am 20.4.
Ostern 2015 ist am 5.4.</pre>
</div>
    </div>
   </div>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.easter-date-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li>
     <span class="function"><a href="function.easter-days.php" class="function" rel="rdfs-seeAlso">easter_days()</a> - Anzahl der Tage zwischen dem 21. M&auml;rz und Ostersonntag</span> zur Berechnung des Osterdatums vor 1970
     oder nach 2037
    </li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>