Calcular día de la semana con PHP

Los requisitos de los clientes, en buena medida suelen tener que ver con restricciones temporales. No sólo de cantidad de tiempo, sino también de qué días o no es. Por eso hoy os traigo este código. Veremos primero cómo averiguar qué día de la semana es para una fecha dada, para posteriormente hacer una función de ejemplo que diga si es fin de semana o no.

Empecemos, recibiremos una fecha en formato americano, como se almacena en las bases de datos como MySQL es decir: año con cuatro cifras, seguido del mes en formato número con dos cifras, seguido del día con dos cifras, todo ello separado por guiones.

Usaremos dos funciones de PHP:

Ya que sabemos qué día de la semana es, podemos saber si es fin de semana, comentad sobre este código, seguro que entre todos podemos buscar muchas funcionalidades y mejoras:

function esFinDeSemana($fecha)
{
$fechaL = explode("-",$fecha);

switch(jddayofweek(cal_to_jd(CAL_GREGORIAN, date($fechaL[1]),date($fechaL[2]), date($fechaL[0])), 0))
{
case 0: case 6:
return true;
break;

default:
return false;
break;
}