PHP – Saber primer y último día de la semana, mes o año

En los listado de muchas de las aplicaciones online creadas con PHP necesitaremos trabajar con fechas. Saber el primer y último día de la semana, mes o año se hace indispensable en algunos proyectos. Pero…

En muchas ocasiones, los listados vienen predeterminados por las necesidades de los usuarios:

Por un lado, un listado de registros de esta semana.

Por otro lado, un listado de registros de este mes.

Y por último, un listado de registros de este año.

Una de dos, podéis obligar a insertar las fechas, o facilitáis haciendo que el usuario clique sobre una de las opciones y automáticamente se calcula el listado. Para ello, necesitaremos saber las fechas de inicio y final. Veamos cada una:

Fecha inicial y final de la semana actual

// Si hoy es lunes, nos daría el lunes pasado.
 if (date("D")=="Mon"){
     $week_start = date("Y-m-d");
 } else {
     $week_start = date("Y-m-d", strtotime('last Monday', time()));
 }
 echo date('d/m/Y', $week_start);
 $week_end = strtotime('next Sunday', time());
 echo date('d/m/Y', $week_end);

Deberemos tener mucho cuidado y estar atentos porque en los ejemplos que veréis por Internet, el primer día de la semana es domingo (Sunday). Para nosotros, el primer día de la semana es lunes (MondaY)

Fecha inicial y final del mes actual

$month_start = strtotime('first day of this month', time());
echo date('d/m/Y', $month_start);
$month_end = strtotime('last day of this month', time());
echo date('d/m/Y', $month_end);

Fecha inicial y final del año actual

$year_start = strtotime('first day of January', time());
echo date('D, M jS Y', $year_start);
$year_end = strtotime('last day of December', time());
echo date('D, M jS Y', $year_end);

Espero que os sea de utilidad.

Más información en:

https://stackoverflow.com/questions/1686724/how-to-find-the-last-day-of-the-month-from-date

Información relacionada

Deja un comentario

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

*