Foros del Web » Programando para Internet » PHP »

De Lunes a Viernes

Estas en el tema de De Lunes a Viernes en el foro de PHP en Foros del Web. Hola amigos, he buscado pero no encontrado un código que realice la siguiente función: A una función entregarle un fecha X y que el resultado ...
  #1 (permalink)  
Antiguo 23/05/2012, 13:53
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 1
Exclamación De Lunes a Viernes

Hola amigos, he buscado pero no encontrado un código que realice la siguiente función:

A una función entregarle un fecha X y que el resultado sean dos días más pero que si cae en un día Sábado o Domingo que lo corra para el día Lunes.

Si alguien me puede guiar o ayudar, se lo agradecería mucho

Saludos :D
  #2 (permalink)  
Antiguo 23/05/2012, 14:01
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: De Lunes a Viernes

Para guiarte, debería indicar el código que hayas hecho, al menos para indicar el formato en que estás manejando la fecha.

si consultas la documentación para date verás que puedes conocer el día de la semana y por tanto decidir si aumentar o no los 2 dias que quieres.
  #3 (permalink)  
Antiguo 23/05/2012, 15:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: De Lunes a Viernes

despues de esforzarme un poco pude realizar el siguiente codigo el cual me funciono. de todas maneras con comparto con ustedes

Código PHP:
Ver original
  1. function nameDate($fecha='')//formato: 00/00/0000{
  2.     $fecha= empty($fecha)?date('d/m/Y'):$fecha;
  3.     $dias = array('domingo','lunes','martes','miércoles','jueves','viernes','sábado');
  4.     $dd   = explode('/',$fecha);
  5.     $ts   = mktime(0,0,0,$dd[1],$dd[0],$dd[2]);
  6.         if($dias[date('w',$ts)] == "sábado"){
  7.        $ndate = date('d/m/Y'',strtotime('+3 days',strtotime($fecha)));             
  8.     }else if($dias[date('w',$ts)] == "domingo"){
  9.        $ndate = date('d/m/Y'',strtotime('+2 days',strtotime($fecha)));
  10.     }else{
  11.        $ndate = $fecha;
  12.     }
  13.     return $ndate;         
  14. }


Saludos a Todos :D

Etiquetas: dias, orden, semana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:31.