Мне нужен массив (день, день недели и месяц) в php. Он сам содержит текущую неделю с пятницы до среды следующей недели.Неделя, начинающаяся с «Пятницы», php
Большое спасибо за вашу помощь
С помощью этого сценария я получаю массив только на текущей неделе (начиная воскресенье или понедельник) - Nuevo на испанском языке.
Не получить эту работу с двумя различными частями двух недель
HELP пожалуйста
// Name day week in Spanish
function diaespanol($valor){
$valor = strtotime($valor);
switch (date('w', $valor)){
case 0: $titleday ="Domingo"; break;
case 1: $titleday ="Lunes"; break;
case 2: $titleday ="Martes"; break;
case 3: $titleday ="Miercoles"; break;
case 4: $titleday ="Jueves"; break;
case 5: $titleday ="Viernes"; break;
case 6: $titleday ="Sabado"; break;
}
return $titleday ;
}
//name in Spanish of the month
function mesydia($valor){
$mes = substr($valor,5,+2);
$dia = substr($valor,8,+2);
switch ($mes){
case '01': $titulomes ="ene"; break;
case '02': $titulomes ="feb"; break;
case '03': $titulomes ="mar"; break;
case '04': $titulomes ="abr"; break;
case '05': $titulomes ="may"; break;
case '06': $titulomes ="jun"; break;
case '07': $titulomes ="jul"; break;
case '08': $titulomes ="ago"; break;
case '09': $titulomes ="sep"; break;
case '10': $titulomes ="oct"; break;
case '11': $titulomes ="nov"; break;
case '12': $titulomes ="dic"; break;
}
return $dia.'/'.$titulomes;
}
// current day
$dia = date('Y-m-d');
$diarecibido = $dia;
//Date of initial calendar day 7 days a week from Monday to Sunday
switch (date('w', $diasemana)){
case 0: $titleday ="Domingo";
$menos=6;
$iniciosemana = date("Y-m-d", strtotime("$diarecibido -$menos day"));
break;
case 1: $titleday ="Lunes";
$menos=1;
$iniciosemana = $diarecibido;
break;
case 2: $titleday ="Martes";
$menos=1;
$iniciosemana = date("Y-m-d", strtotime("$diarecibido -$menos day"));
break;
case 3: $titleday ="Miercoles";
$menos=2;
$iniciosemana = date("Y-m-d", strtotime("$diarecibido -$menos day"));
break;
case 4: $titleday ="Jueves";
$menos=3;
$iniciosemana = date("Y-m-d", strtotime("$diarecibido -$menos day"));
break;
case 5: $titleday ="Viernes";
$menos=4;
$iniciosemana = date("Y-m-d", strtotime("$diarecibido -$menos day"));
break;
case 6: $titleday ="Sabado";
$menos=5;
$iniciosemana = date("Y-m-d", strtotime("$diarecibido -$menos day"));
break;
}
//day of the week
$dia_semana = (date('w'));
//if today is not Sunday
if ($dia_semana != 0){
//muestra semana actual
for($i=0; $i<7; $i++){
$mostrable = date("Y-m-d", strtotime("$iniciosemana +$i day"));
$titleday=diaespanol($mostrable);
$array_nombres_dias[] = diaespanol($mostrable);
$array_fechas_dias[] = mesydia($mostrable);
}
}
//if today is Sunday
else{
//muestra semana siguiente
for ($i = 7; $i < 14; $i++) {
$mostrable =date("Y-m-d", strtotime("$iniciosemana +$i day"));
$titleday = diaespanol($mostrable);
if($titleday =='Sabado' || $titleday=='Domingo'){
$findesemana='style="background:#FF0033?';
}
else{
$findesemana= '';
}
$array_nombres_dias[] = $titleday;
$array_fechas_dias[] = mesydia($mostrable);
}
}
//I walk two arrays
$longitud = count($array_fechas_dias);
echo $longitud;
for($i=0; $i<$longitud; $i++)
{
//sack the value of each element
echo $array_fechas_dias[$i] . " - ";
echo $array_nombres_dias[$i];
echo "<br>";
}
«Сделай это для меня» является не совсем вопрос, который приветствуется здесь. Кроме того, это своего рода дубликат этого http://stackoverflow.com/questions/13128854/php-datetime-class-change-first-day-of-the-week-to-monday – walther
Концепция - сначала найти первую пятницу , затем найдите следующую среду. затем сохраните этот цикл в массиве, а затем зациклируйте все на нужную дату. – Prashant