php

PHP y strtotime para manipular fechas

Introducción

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:

  1. Obtener la fecha de hace un año
  2. Saber la fecha que será dentro de un año
  3. Restar y sumar meses a una fecha
  4. Sumar minutos a una fecha y hora
  5. Operar con semanas
Operar con fechas en PHP usando strtotime

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.

Obtener la fecha del año pasado con strtotime

Usamos este código:

See the gist on github.

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

Saber la fecha que será dentro de un año

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

See the gist on github.

La salida en mi caso es:

Dentro de un año será 2019-10-04 11:30:07

Restar y sumar meses

Así como operamos con años, podemos operar con meses.

Sumar 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:

See the gist on github.

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á:

See the gist on github.

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

Restar meses

Podemos operar con meses como en el ejemplo de arriba, pero utilizando - en lugar de +.

See the gist on github.

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.

Sumar minutos a una fecha y hora

La función strtotime no nos limita a fechas, también podemos sumar minutos. Veamos este código de ejemplo que suma 15 minutos:

See the gist on github.

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.

Operar con semanas

También podemos sumar semanas y días. Para las semanas:

See the gist on github.

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:

See the gist on github.

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.

Más formatos y operaciones

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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

18 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 día hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

1 día hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.