Obtener la fecha de ayer en PHP
-
date()
en PHP -
DateInterval
en PHP -
Usando
strtotime()
para obtener la fecha de ayer en PHP -
Usando
mktime()
para obtener la fecha de ayer en PHP -
Usando
time()
para obtener la fecha de ayer en PHP -
Uso de
DateInterval
para obtener la fecha de ayer en PHP
Este artículo presentará cómo obtener la fecha de ayer en PHP.
Antes de aprender la solución, comprendamos el concepto de fecha ().
date()
en PHP
Es una función PHP incorporada que devuelve la cadena de fecha formateada.
Sintaxis de date()
date(format, timestamp)
Parámetros
format
: este es un parámetro obligatorio que especifica el formato de la cadena de fecha de salida. Algunas de las opciones son:
d
: el día del mes en el rango de 01 a 31D
: una representación textual de un día (tres letras)m
: representación numérica de un mes en el rango de 01 a 12M
: una representación de texto de un mes (tres letras)Y
: representación de cuatro dígitos de un añoy
: representación de dos dígitos de un añoa
: am minúscula o pmA
: AM o PM en mayúsculas
timestamp
: Es un parámetro opcional que especifica una marca de tiempo Unix en formato entero. Si no se proporciona, se tomará un valor predeterminado como la hora local actual.
DateInterval
en PHP
Es una clase de PHP que representa un intervalo de fechas. También proporciona el método estático, que acepta las cadenas de entrada y configura un DateInterval a partir de la cadena de entrada.
Ahora que hemos entendido el concepto básico de date()
, strtotime()
y mktime()
. Usaremos todas estas funciones para obtener la fecha de ayer.
Usando strtotime()
para obtener la fecha de ayer en PHP
strtotime()
es una función PHP incorporada que analiza un DateTime textual en inglés en una marca de tiempo Unix desde el 1 de enero de 1970, 00:00:00 GMT.
Sintaxis de strtotime()
strtotime(time, now);
Parámetro
time
: este es un parámetro obligatorio, que especifica una cadena de fecha / hora.
ahora
: este es un parámetro opcional, que especifica la marca de tiempo utilizada como base para calcular las fechas relativas.
Podemos pasar ayer
o -1 días
a la función strtotime
para obtener la marca de tiempo de ayer. Como se introdujo anteriormente, la marca de tiempo se puede convertir a la fecha en el formato de cadena mediante la función date()
.
Código de ejemplo:
<?php
// Get yesterdays date
echo date('d.m.Y',strtotime("-1 days")). "\n";
echo date('d M Y',strtotime("yesterday"));
?>
Producción :
24.10.2021
24 Oct 2021
Usando mktime()
para obtener la fecha de ayer en PHP
Es una función PHP incorporada que devuelve la marca de tiempo de Unix para una fecha. Esta función es casi la misma que gmmktime()
excepto que los parámetros pasados representan una fecha (no una fecha GMT).
Sintaxis
mktime(hour, minute, second, month, day, year)
Parámetro
hour
: este es un parámetro opcional, que especifica la hora.
minuto
: Es un parámetro opcional, que especifica el minuto.
second
: Es un parámetro opcional, que especifica el segundo.
month
: Es un parámetro opcional, que especifica el mes.
day
: Es un parámetro opcional, que especifica el día.
year
: Es un parámetro opcional, que especifica el año.
Código de ejemplo:
<?php
$m = date("m"); // Month value
$de = date("d"); // Today's date
$y = date("Y"); // Year value
echo "Yesterday's date was: " . date('d-m-Y', mktime(0,0,0,$m,($de-1),$y));
?>
Producción :
Yesterday's date was: 24-10-2021
Los valores de año
y mes
son los mismos entre hoy y ayer. El valor día
de ayer es uno menos que el de hoy.
Usando time()
para obtener la fecha de ayer en PHP
La función time()
devuelve la marca de tiempo actual. Si restamos su valor, obtenemos la marca de tiempo de la misma hora ayer.
Código de ejemplo:
<?php
echo date('d M Y', time() - 60 * 60 * 24);
?>
Producción :
24 Oct 2021
Uso de DateInterval
para obtener la fecha de ayer en PHP
Es una clase de PHP que representa un intervalo de fechas. También proporciona el método estático, que acepta las cadenas de entrada y configura un DateInterval a partir de la cadena de entrada.
Sintaxis de DateInterval()
new DateInterval($period);
Parámetro
$period
: Es un parámetro obligatorio que especifica el tiempo en forma de cadena. Por ejemplo, P1D
especifica 1 día. PT1H especifica 1 hora.
P$numberD
: una hora en forma de día. $ number está en el rango de 1 a 31.P$numberM
: una hora en forma de mes. $ number está en el rango de 1 a 12.P$numberY
: una hora en forma de año. $ number está en el rango de 1 a 100.PT$numberH
: una hora en forma de hora. $ number está en el rango de 1-24.PT$numberM
: una hora en forma de minuto. $ number está en el rango de 0 a 60.PT$numberS
: una hora en forma de segundo. $ number está en el rango de 0 a 60.
Sintaxis de DateInterval::createFromDateString()
public static DateInterval::createFromDateString(string $datetime);
Parámetro
$datetime
: Es un parámetro obligatorio que especifica la fecha / hora en formato de cadena.
Podemos pasar ayer
a createFromDateString()
y P1D
a la función DateInterval
para obtener la marca de tiempo de ayer. Podemos sumar o restar esta marca de tiempo de la marca de tiempo actual, y la marca de tiempo resultante se puede convertir a la fecha en el formato de cadena mediante la función date()
.
Código de ejemplo:
<?php
$date = new DateTime();
$date->add(DateInterval::createFromDateString('yesterday'));
echo $date->format('d M Y') . "\n";
$date = new DateTime();
$date->sub(new DateInterval('P1D'));
echo $date->format('d M Y') . "\n";
?>
Producción :
24 Oct 2021
24 Oct 2021
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn