<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.easter-date.php',
    1 => 'easter_date',
    2 => 'Retorna el timestamp Unix para la medianoche local el d&iacute;a de Pascua de un a&ntilde;o dado',
  ),
  'up' => 
  array (
    0 => 'ref.calendar.php',
    1 => 'Funciones de Calendario',
  ),
  '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' => 'es',
    '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">Retorna el timestamp Unix para la medianoche local el día de Pascua de un año dado</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.easter-date-description">
  <h3 class="title">Descripción</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">
   Retorna un timestamp UNIX para Pascua, a medianoche, para un año dado.
  </p>
  <p class="para">
   La fecha de Pascua fue establecida por el concilio
   de Nicea, en 325 de nuestra era, como siendo el domingo
   después de la primera luna llena que sigue al equinoccio de
   primavera. El equinoccio de primavera es considerado
   como siendo siempre el 21 de marzo, lo cual reduce el
   problema al cálculo de la fecha de la luna llena que sigue, y el
   domingo siguiente. El algoritmo fue introducido hacia 532, por Dionysius
   Exiguus. Con el calendario Juliano, (para los años antes de 1753),
   un ciclo de 19 años es suficiente para conocer las fechas de las fases de la
   luna. Con el calendario Gregoriano, (a partir de los años
   1753, diseñado por Clavius y Lilius, luego introducido por el papa Gregorio XIII
   en octubre de 1582, y en Gran Bretaña y sus colonias en septiembre de 1752),
   dos factores de corrección fueron añadidos para hacer
   el ciclo más preciso.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.easter-date-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">year</code></dt>
     <dd>
      <p class="para">
       El año, debe ser un número comprendido entre 1970 y 2037 para los sistemas de 32 bits, o entre 1970 y 2 000 000 000 para los sistemas de 64 bits.
       Si se omite o es <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>, el valor por omisión será el año actual según la hora local.
      </p>
     </dd>
    
    
     <dt><code class="parameter">mode</code></dt>
     <dd>
      <p class="para">
       Permite calcular la fecha de Pascua según el calendario Juliano
       cuando se define como <strong><code><a href="calendar.constants.php#constant.cal-easter-always-julian">CAL_EASTER_ALWAYS_JULIAN</a></code></strong>. Ver también
       <a href="calendar.constants.php" class="link">las constantes de calendario</a>.
       </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.easter-date-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   La fecha para Pascua, en forma de timestamp unix.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.easter-date-errors">
  <h3 class="title">Errores/Excepciones</h3>
  <p class="para">
   Se genera una <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> si el año es anterior a 1970 o posterior a 2037
   al ejecutarse en un sistema de 32 bits, o posterior a 2 000 000 000 en un sistema de 64 bits.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.easter-date-changelog">
  <h3 class="title">Historial de cambios</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versión</th>
      <th>Descripción</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.3.0</td>
      <td>
       En los sistemas de 64 bits, el argumento <code class="parameter">year</code> ahora acepta valores en el rango de 1970 a
       2 000 000 000.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">year</code> ahora es nullable.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       Ahora se genera una <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> cuando
       <code class="parameter">year</code> está fuera del rango permitido.
       Anteriormente, se generaba una advertencia <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>
       y la función retornaba <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.easter-date-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>easter_date()</strong></span></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>Ejemplo #2 Uso de <span class="function"><strong>easter_date()</strong></span> con <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">Notas</h3>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    La función <span class="function"><strong>easter_date()</strong></span> se basa en las funciones
    de la biblioteca C time del sistema, en lugar de las funciones
    date y time internas de PHP. Además, la función <span class="function"><strong>easter_date()</strong></span>
    utiliza la variable de entorno <code class="literal">TZ</code> para determinar
    la zona horaria a utilizar, en lugar de la
    <a href="datetime.configuration.php#ini.date.timezone" class="link">zona horaria por defecto</a> de PHP,
    lo cual puede llevar a un comportamiento no deseado al utilizar
    esta función con otras funciones date de PHP.
   </p>
   <p class="para">
    Como solución alternativa, puede utilizarse la función
    <span class="function"><a href="function.easter-days.php" class="function">easter_days()</a></span> con las clases
    <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span> y <span class="classname"><a href="class.dateinterval.php" class="classname">DateInterval</a></span>
    para calcular el día de Pascua en la zona horaria de PHP, de la siguiente manera:
   </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">"Pascua, en %d, cae el %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">'d F'</span><span style="color: #007700">));<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <p class="para">El ejemplo anterior mostrará:</p>
    <div class="example-contents screen">
<div class="notescode"><pre class="notescode">Pascua, en 2012, cae el 08 Abril
Pascua, en 2013, cae el 31 Marzo
Pascua, en 2014, cae el 20 Abril
Pascua, en 2015, cae el 05 Abril</pre>
</div>
    </div>
   </div>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.easter-date-seealso">
  <h3 class="title">Ver también</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> - Retorna el n&uacute;mero de d&iacute;as entre el 21 de marzo y Pascua, para un a&ntilde;o dado</span> para el cálculo de Pascua
     antes de 1970 y después de 2037
    </li>
   </ul>
  </p>
 </div>

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