11 Voto

PHP: Determinar la Fecha hace 3 Meses

Pregunta de Compi | 03/04/2021 a las 13:51

En uno de mis scripts PHP, necesito la fecha de hace exactamente 3 meses. Por ejemplo, si el día actual es 11.8, me gustaría obtener 11.5.

Hasta ahora, he usado el siguiente código para mi propósito:

echo date("d.m.Y", time()-7776000); 

El número 7776000 se compone de 60 segundos * 60 minutos * 24 horas * 30 días * 3 meses. En otras palabras, este número debe representar la cantidad de segundos que pasan en un mes y mi idea era restar este valor del tiempo actual determinado con time().

El problema: no todos los meses tienen 30 días. Por lo tanto, no obtengo el día "exacto" de hace tres meses con este ansatz. En cambio, obtengo un día ubicado en algún lugar de mi deseo de hoy dependiendo de la cantidad de días de los últimos meses.

Otra idea era tomar el mes como un número entero para restar 3 de este valor, pero esto genera problemas cada vez que el día cae en otro año (por ejemplo, cuando se intenta restar tres meses de enero o febrero).

Es complicado. ¿Alguien me puede ayudar?

ResponderPositivoNegativo
2Mejor Respuesta2 Votos

Simplemente use la siguiente línea de código y deje que PHP se haga cargo del trabajo de computación por usted:

echo date("d.m.Y", strtotime("-3 Months"));

Esto siempre debe devolver la fecha deseada con el mismo día del mes, es decir, exactamente "tres meses" en el pasado.
04/04/2021 a las 23:57

ResponderPositivo Negativo
Responder

Temas Relacionados

PHP: Agregar X Meses a una Fecha

Pregunta | 1 Respuesta

PHP: Fecha antes de X días

Pregunta | 1 Respuesta

Delphi/Lazarus: Fecha de Mañana

Pregunta | 1 Respuesta

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.