En PHP con una indicación de fecha y hora UTC me gustaría agregar exactamente N número de años. Esto debería tomar en consideración los años bisiestos.PHP: Agregar años a una marca de tiempo
Gracias.
En PHP con una indicación de fecha y hora UTC me gustaría agregar exactamente N número de años. Esto debería tomar en consideración los años bisiestos.PHP: Agregar años a una marca de tiempo
Gracias.
$newTimestamp = strtotime('+2 years', $timestamp);
Reemplace "+2 años" según corresponda.
$date = new DateTime();
$date->add(new DateInterval('P10Y'));
añade 10 años (10Y
) a "hoy". Sin embargo, DateTime solo está en PHP 5.3.
+1, ¡no sabía eso! En una nota al margen, ¿conoces algún buen texto/libro/tutorial sobre las cosas nuevas para v5.3? Excepto el manual oficial. – Czechnology
No fuera de uso. Sin embargo, el sitio php tiene un buen tutorial de registro de cambios/migración. Tiendo a evitar los libros de PHP, porque están terriblemente desactualizados, mal escritos (por ejemplo, te llevan a escribir un código inseguro muy malo), o simplemente muy mal. –
No es del todo correcto: DateTime está en 5.2 y solo se agregó DateInterval para 5.3. – tobyS
Una cosa que debes tener en cuenta cuando hagas esto.
$newTimestamp = strtotime('+2 years', $timestamp);
Esto suma 2 años (720 o 721 días). En caso de que solo desee conservar el mismo día y mes y agregar 2 años adicionales en la marca de tiempo
, debe usar mktime.
Ejemplo
$timestamp = mktime(0, 0, 0, $month, $day, $year+2);`
Hoy en día debería usar una biblioteca como Carbon para hacer todo este trabajo de tiempo/fecha en php. Hace una alegría trabajar con las fechas. –
$date = "1998-08-14";
$newdate = strtotime ('+2 years' , strtotime ($date)) ;
$newdate = date ('Y-m-j' , $newdate);
echo $newdate;
ecos
2000-08-14
@NullUserException: Parece bastante obvio que desea reemplazar '2' con 'n', y que '$ timestamp' contiene el correcto marca de tiempo En ningún lugar dice en el código de Jeff que '$ timestamp' = ahora. –
Es un ejemplo ... con la condición, "reemplace +2 años como se requiera": P –
Habría +1 pero cerré los votos. :) –