ok Entonces para simplificar el tema e irme ordenando:
Tenemos sacados los dias con las fechas: para no depender de los locales, podriamos hacerlo en un array y asi traducirlo y no depender del setting del server.
Con locales
Código PHP:
setlocale(LC_ALL,"es_ES","esp");
//Si es lunes calculamos a partir de la fecha actual
if(date('w') == 1) {
$ul = time();
} else {
$ul = strtotime('last monday');
}
//Bucle para mostrar los 7 dias de la semana
for($i=0;$i<7;$i++){
$sd = strtotime("+$i day", $ul);
if(date('d', $sd) === date('d')) {
echo '<font color="red">'.strftime("%A, %d", $sd).'</font> ';
} else {
echo '<font color="gray">'.strftime("%A, %d", $sd).'</font> ';
}
}
sin locales y en array
Código PHP:
//Si es lunes calculamos a partir de la fecha actual
if(date('w') == 1) {
$ul = time();
} else {
$ul = strtotime('last monday');
}
//Array con los dias de la semana
$dias_semana = array('Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo');
//Bucle para mostrar los 7 dias de la semana
for($i=0;$i<7;$i++){
$sd = strtotime("+$i day", $ul);
if(date('d', $sd) === date('d')) {
echo '<font color="red">'.$dias_semana[$i].''.date("d", $sd).'</font> ';
} else {
echo '<font color="gray">'.$dias_semana[$i].''.date("d", $sd).'</font> ';
}
}
Ahora como hacer para que vaya entre semanas, semana anterior y semana siguiente, podria ser asi:
Código PHP:
//calcular semana anterior
$semana_ant = date('W')-1;
//calcular semana siguiente
$semana_sig = date('W')+1;
Por ahí voy bien encaminado?