PHP: fecha de inicio y fin de semana

En este post te mostraré cómo obtener las fechas de inicio y fin de la semana actual en el lenguaje de programación PHP.

Es decir, según la fecha actual obtener el inicio (que sería el domingo) y el fin (que sería el sábado) aunque si tu semana inicia o termina en otro día verás que es muy fácil cambiarlo.

Fecha de inicio y fin de semana actual: algoritmo

El algoritmo es sencillo. PHP nos puede decir cuál día de la semana es hoy del 0 al 6. Entonces, cuando ya lo tenemos podemos obtener las dos fechas de interés.

Para obtener la fecha de inicio de semana le restamos a la fecha actual el número de día de semana en el que estamos.Y para obtener la fecha de fin de semana le sumamos a la fecha de inicio 6 días. Así de simple.

Todas las operaciones de sumas y restas con php las vamos a hacer con la maravillosa función strtotime.

De este modo tendremos la fecha de inicio que sería el domingo, y la fecha de fin que sería el siguiente sábado. Todo eso tomando en cuenta la fecha actual.

Obtener fecha inicio de semana y fin de semana

Ya hablamos lo suficiente. Ahora veamos cómo se hace con código:

<?php
# https://parzibyte.me/blog

$diaSemana = date("w");
# Calcular el tiempo (no la fecha) de cuándo fue el inicio de semana
$tiempoDeInicioDeSemana = strtotime("-" . $diaSemana . " days"); # Restamos -X days
# Y formateamos ese tiempo
$fechaInicioSemana = date("Y-m-d", $tiempoDeInicioDeSemana);
# Ahora para el fin, sumamos
$tiempoDeFinDeSemana = strtotime("+" . $diaSemana . " days", $tiempoDeInicioDeSemana); # Sumamos +X days, pero partiendo del tiempo de inicio
# Y formateamos
$fechaFinSemana = date("Y-m-d", $tiempoDeFinDeSemana);

# Listo. Hora de imprimir
echo "Hoy es " . date("Y-m-d") . ". ";
echo "El inicio de semana es $fechaInicioSemana y el fin es $fechaFinSemana";

Recuerda que para que funcione correctamente según tu país, debes configurar la zona horaria de PHP.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *