Ver Mensaje Individual
  #13 (permalink)  
Antiguo 31/05/2010, 18:33
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Hacer planning semanal

Hola

Revisate esto

Código PHP:
Ver original
  1. <?php
  2.  
  3. //fecha actual de la semana
  4. $fecha_actual = new DateTime();
  5. //agregamos dias para pruebas
  6. date_add($fecha_actual, date_interval_create_from_date_string('0 days'));
  7. $fecha_actual = date_format($fecha_actual, 'Y-m-d');
  8.  
  9.  
  10. //Usage
  11. $dayArray=array();
  12. $dayArray=findNumberDay($fecha_actual);
  13. echo 'Dia $fecha_actual '.$dayArray[0].'<br>';
  14. $lunes_actual = new DateTime($fecha_actual);                        
  15. $domingo_actual = new DateTime($fecha_actual);                              
  16. if($dayArray[0] > 1)
  17. {
  18.   $dialunes = $dayArray[0] - 1;
  19.   date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
  20.   $lunes_actual = date_format($lunes_actual, 'Y-m-d');
  21.   $diadomingo = 7 - $dayArray[0];
  22.   date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
  23.   $domingo_actual = date_format($domingo_actual, 'Y-m-d');  
  24. }else if($dayArray[0] == 0){
  25.   $dialunes = 6;
  26.   date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
  27.   $lunes_actual = date_format($lunes_actual, 'Y-m-d');
  28.   $diadomingo = 0;
  29.   date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
  30.   $domingo_actual = date_format($domingo_actual, 'Y-m-d');
  31. }else{
  32.   $dialunes = 0;
  33.   date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
  34.   $lunes_actual = date_format($lunes_actual, 'Y-m-d');
  35.   $diadomingo = 6;
  36.   date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
  37.   $domingo_actual = date_format($domingo_actual, 'Y-m-d');
  38. }
  39.  
  40. $dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");
  41.   echo "fecha_actual ACTUAL ES ".$fecha_actual.' '.$dias[$dayArray[0]].'<br>';
  42.  echo "LUNES ACTUAL ES ".$lunes_actual.'<br>';
  43.   echo "DOMINGO ACTUAL ES ".$domingo_actual;
  44.  
  45. //Funcion para numero de dia
  46.  
  47. function findNumberDay($anyDate)
  48. {
  49.     //$anyDate            =    '2009-08-25';    // date format should be yyyy-mm-dd
  50.     list($yr,$mn,$dt)    =    split('-',$anyDate);    // separate year, month and date
  51.     $timeStamp            =    mktime(0,0,0,$mn,$dt,$yr);    //Create time stamp of the day from the give date.
  52.     $firstDay            =     date('w',$timeStamp);    //get first day of the given month
  53.     $arrDay                =    array("$firstDay"); // return the result in an array format.
  54.    
  55.     return $arrDay;                                                                                
  56. }

saludos