Obtener la fecha de ayer en PHP

Shraddha Paghdar 18 abril 2022
  1. date() en PHP
  2. DateInterval en PHP
  3. Usando strtotime() para obtener la fecha de ayer en PHP
  4. Usando mktime() para obtener la fecha de ayer en PHP
  5. Usando time() para obtener la fecha de ayer en PHP
  6. Uso de DateInterval para obtener la fecha de ayer en PHP
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:

  1. d: el día del mes en el rango de 01 a 31
  2. D: una representación textual de un día (tres letras)
  3. m: representación numérica de un mes en el rango de 01 a 12
  4. M: una representación de texto de un mes (tres letras)
  5. Y: representación de cuatro dígitos de un año
  6. y: representación de dos dígitos de un año
  7. a: am minúscula o pm
  8. A: 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.

  1. P$numberD: una hora en forma de día. $ number está en el rango de 1 a 31.
  2. P$numberM: una hora en forma de mes. $ number está en el rango de 1 a 12.
  3. P$numberY: una hora en forma de año. $ number está en el rango de 1 a 100.
  4. PT$numberH: una hora en forma de hora. $ number está en el rango de 1-24.
  5. PT$numberM: una hora en forma de minuto. $ number está en el rango de 0 a 60.
  6. 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 Paghdar avatar Shraddha Paghdar avatar

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

Artículo relacionado - PHP Date