Ya vimos cómo sumarle un día a la fecha de hoy para sacar la fecha del otro día, o la fecha de mañana en PHP. Ahora veamos otras cosas interesantes que podemos hacer con strtotime
. Lo que haremos será ver cómo:
Adicionalmente te invito a leer cómo saber la fecha de inicio y fin de mes en PHP y cómo saber los días transcurridos entre 2 fechas.
Por cierto, si tienes dudas de cómo usamos a date para formatear las fechas te recomiendo este post.
Usamos este código:
<?php
$tiempoDelAnioPasado = strtotime("-1 year");
$formateado = date("Y-m-d H:i:s", $tiempoDelAnioPasado);
echo "Hoy hace un año era $formateado";
Con strtotime le restamos un año a la fecha actual, eso devolverá un entero con segundos que más tarde formateamos con date. El resultado al menos al ejecutar el script mientras escribo esto, es:
Hoy hace un año era 2017-10-04 11:22:51
Ya deberíamos saber cómo hacerlo, si para restar usamos -1 year
entonces para sumar o ver la fecha del futuro usamos +1 year
.
Quiero aclarar que podemos poner +10 year
, o +50 year
, es decir, cambiar los años. Pero bueno veamos la fecha que será dentro de un año
<?php
$tiempoDelAnioFuturo = strtotime("+1 year");
$formateado = date("Y-m-d H:i:s", $tiempoDelAnioFuturo);
echo "Dentro de un año será $formateado";
La salida en mi caso es:
Dentro de un año será 2019-10-04 11:30:07
Así como operamos con años, podemos operar con meses.
Podemos sumar meses a una fecha, no importa si son más de 12. Comencemos viendo este ejemplo que dice la fecha que será dentro de un mes:
<?php
$dentroDeUnMes = strtotime("+1 month");
$formateado = date("Y-m-d H:i:s", $dentroDeUnMes);
echo "Dentro de un mes será $formateado";
Cuya salida es:
Dentro de un mes será 2018-11-04 11:34:29
Podemos también, sumar 14 meses, que sería un año y 2 meses. Como al momento de escribir esto es octubre de 2018, la salida debería ser el mes de diciembre del 2019.
Vamos allá:
<?php
$dentroDeCatorceMeses = strtotime("+14 month");
$formateado = date("Y-m-d H:i:s", $dentroDeCatorceMeses);
echo "Dentro de 14 meses será $formateado";
Notemos que aunque el plural de month es months, usamos month de igual manera (aunque el parseador de PHP sí lo soporta, pero recomiendo dejar todo en singular).
La salida es como lo esperábamos:
Dentro de 14 meses será 2019-12-04 11:36:15
Podemos operar con meses como en el ejemplo de arriba, pero utilizando -
en lugar de +
.
<?php
$haceNueveMeses = strtotime("-9 month");
$formateado = date("Y-m-d H:i:s", $haceNueveMeses);
echo "Hace 9 meses era $formateado";
La salida es:
Hace 9 meses era 2018-01-04 11:38:13
Así de fácil podemos restar meses. Y como lo dije, podemos usar incluso más de 12 meses que sería un año.
La función strtotime
no nos limita a fechas, también podemos sumar minutos. Veamos este código de ejemplo que suma 15 minutos:
<?php
$dentroDeQuinceMinutos = strtotime("+15 minute");
$formateado = date("Y-m-d H:i:s", $dentroDeQuinceMinutos);
$formateadoAhora = date("Y-m-d H:i:s");
echo "Ahora es $formateadoAhora y dentro de quince minutos será $formateado";
La variable de $formateadoAhora
es para ilustrar la hora actual. La salida es:
Ahora es 2018-10-04 11:46:40 y dentro de quince minutos será 2018-10-04 12:01:40
Igualmente podríamos restar minutos. Por ejemplo, si queremos restar 100 minutos usaríamos -100 minute
.
También podemos sumar semanas y días. Para las semanas:
<?php
$dentroDeDosSemanas = strtotime("+2 week");
$formateado = date("Y-m-d H:i:s", $dentroDeDosSemanas);
$formateadoAhora = date("Y-m-d H:i:s");
echo "Ahora es $formateadoAhora y dentro de 2 semanas será $formateado";
En ese caso la salida es:
Ahora es 2018-10-04 13:56:31 y dentro de 2 semanas será 2018-10-18 13:56:31
Con días también podemos trabajar. Si sumamos 14 días es como sumar 2 semanas. Entonces hacemos esto:
<?php
$dentroDeCatorceDias = strtotime("+14 day");
$formateado = date("Y-m-d H:i:s", $dentroDeCatorceDias);
$formateadoAhora = date("Y-m-d H:i:s");
echo "Ahora es $formateadoAhora y dentro de 14 días será $formateado";
El resultado es el mismo:
Ahora es 2018-10-04 13:58:32 y dentro de 14 días será 2018-10-18 13:58:32
Está de más mencionar que podemos igualmente restar semanas y días con la función strtotime
de php.
Esto es únicamente una introducción con ejemplos que me parecen que le servirán a otros programadores.
Si quieres ver la lista de todos los formatos disponibles que entiende strotime
te invito a ver la documentación oficial.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.