Encuentra la fecha de un día de la semana en PHP

Habdul Hazeez 30 enero 2023
  1. Obtener la fecha de un día numérico de la semana en PHP
  2. Obtener el día de la semana a partir de una cadena de fecha en PHP
Encuentra la fecha de un día de la semana en PHP

Este artículo te enseña cómo obtener la fecha de un día numérico de la semana usando PHP. Basamos nuestra solución en asignar números del 0 al 6 a los días de la semana de domingo a sábado.

Usaremos las funciones PHP date y strtotime para nuestros cálculos.

Obtener la fecha de un día numérico de la semana en PHP

Para obtener la fecha de un número, seleccionaremos una fecha inicial de una semana. La fecha tendrá el formato yyyy-mm-dd, y luego seleccionamos un número entre 0 y 6.

Al hacer esto, sabremos que cualquier fecha de devolución de PHP para el número está en la misma semana que la fecha inicial. Luego, usamos PHP para obtener la fecha usando nuestro número seleccionado y la fecha inicial.

El código PHP utilizará el siguiente algoritmo:

  • Defina la fecha inicial.
  • Elija un número entre 0 y 6.
  • Asegúrese de que el número esté entre 0 y 6.
  • Convertir nuestro número a un día de la semana usando PHP date y strtotime.
  • Convertir el día de la semana a nuestra fecha en el formato yyyy-mm-dd. Usaremos la función date() y sus argumentos son:
    • Y-m-d
    • Marca de tiempo Unix del día de la semana del Paso 4 restado de nuestro número elegido.
    • Marca de tiempo Unix de nuestra fecha inicial.

La siguiente es la implementación de este algoritmo:

<?php
    $initial_date = '2022-06-22';
    $day = 0;

    if ($day >= 0 and $day <= 6) {
        $day_of_the_week = date('w', strtotime($initial_date));

        $the_date = date('Y-m-d', strtotime(($day - $day_of_the_week). ' day', strtotime($initial_date)));

        echo($the_date);
    } else {
        echo 'You have entered an invalid day value. Check the "$day" variable and try again';
    }
?>

Producción :

2022-06-19

Obtener el día de la semana a partir de una cadena de fecha en PHP

Cuando tienes la fecha en el formato yyyy-mm-dd, puedes encontrar el día en que cae, por ejemplo, lunes o domingo. Como ya tenemos una fecha (de la última sección), podemos modificar nuestro código para imprimir el nombre del día.

Las modificaciones nos permitirán imprimir la representación textual completa del día a partir de la fecha. Usaremos la función date(), y le pasaremos lo siguiente como sus argumentos:

  • La letra l (letra el)
  • Marca de tiempo Unix de nuestra fecha

El siguiente es el código modificado junto con los cambios de la lista anterior:

<?php
    $the_date = "2022-06-19"; // The date from the previous section
    $name_of_the_day = date('l', strtotime($the_date));
    echo "The date " . $the_date . " falls on a " . $name_of_the_day;
?>

Producción :

The date 2022-06-19 falls on a Sunday
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

Artículo relacionado - PHP Date