Duplicar posible:
Get timestamp of today and yesterday in phpfecha de PHP ayer
Me preguntaba si había una manera simple de conseguir la fecha de ayer a través de este formato:
date("F j, Y");
Duplicar posible:
Get timestamp of today and yesterday in phpfecha de PHP ayer
Me preguntaba si había una manera simple de conseguir la fecha de ayer a través de este formato:
date("F j, Y");
date()
propio es solo para formatear, pero acepta un segundo parámetro.
date("F j, Y", time() - 60 * 60 * 24);
Para simplificar, restar solo 24 horas de la marca de tiempo de unix.
Un oop-enfoque moderno está utilizando DateTime
$date = new DateTime();
$date->sub(new DateInterval('P1D'));
echo $date->format('F j, Y') . "\n";
o en su caso (más legible/obvia)
$date = new DateTime();
$date->add(DateInterval::createFromDateString('yesterday'));
echo $date->format('F j, Y') . "\n";
(Debido DateInterval
es negativo aquí, debemos add()
aquí)
Ver también: DateTime::sub()
y DateInterval
strtotime()
, como en date("F j, Y", strtotime("yesterday"));
+1 porque esto hace que la intención sea un poco más obvia cuando se escanea el código. Código de auto-documentación y todo eso. –
¿Qué tan fácil :)
date("F j, Y", strtotime('-1 days'));
Prefiero esta respuesta. El desplazamiento ('-1') no tiene que ser una constante: se puede construir con una variable, incluso con un bucle: 'strtotime ('-'. $ S. 'Days')' donde '$ s' es cuántos días atrás (o hacia adelante si juegas con signos) quieres ir. – Henry
Gracias por la rápida respuesta. –
muy buena respuesta, hay muchas maneras de hacerlo, pero tienes la simple, corta y fácil de entender (+ el OOP para aquellos interesados en usar más RAM;) – neofutur
@neofutur Además de "queremos perder nuestra memoria RAM" el enfoque OOP es útil, cuando ya tiene un objeto 'DateTime'- o' DateInterval' (o ambos), que puede ser el caso en una aplicación basada en OOP (por ejemplo '$ customer-> expire- > add (DateInterval :: createFromDateString ('+ 1 año')) // cliente pagado por un año adicional') También tenga en cuenta que 'DateInterval' entiende ISO8601 por intervalos de tiempo, pero' date() 'no. Al final del curso: Seleccione el que mejor se ajuste a sus necesidades :) – KingCrunch