Hola
Revisate esto
Código PHP:
Ver original<?php
//fecha actual de la semana
$fecha_actual = new DateTime();
//agregamos dias para pruebas
date_add($fecha_actual, date_interval_create_from_date_string('0 days'));
//Usage
$dayArray=findNumberDay($fecha_actual);
echo 'Dia $fecha_actual '.$dayArray[0].'<br>';
$lunes_actual = new DateTime($fecha_actual);
$domingo_actual = new DateTime($fecha_actual);
if($dayArray[0] > 1)
{
$dialunes = $dayArray[0] - 1;
date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
$diadomingo = 7 - $dayArray[0];
date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
$domingo_actual = date_format($domingo_actual, 'Y-m-d'); }else if($dayArray[0] == 0){
$dialunes = 6;
date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
$diadomingo = 0;
date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
$domingo_actual = date_format($domingo_actual, 'Y-m-d'); }else{
$dialunes = 0;
date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
$diadomingo = 6;
date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
$domingo_actual = date_format($domingo_actual, 'Y-m-d'); }
$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"); echo "fecha_actual ACTUAL ES ".$fecha_actual.' '.$dias[$dayArray[0]].'<br>';
echo "LUNES ACTUAL ES ".$lunes_actual.'<br>';
echo "DOMINGO ACTUAL ES ".$domingo_actual;
//Funcion para numero de dia
function findNumberDay($anyDate)
{
//$anyDate = '2009-08-25'; // date format should be yyyy-mm-dd
list($yr,$mn,$dt) = split('-',$anyDate); // separate year, month and date $timeStamp = mktime(0,0,0,$mn,$dt,$yr); //Create time stamp of the day from the give date. $firstDay = date('w',$timeStamp); //get first day of the given month $arrDay = array("$firstDay"); // return the result in an array format.
return $arrDay;
}
saludos