Foros del Web » Programando para Internet » PHP »

Sumar dias habiles a fecha

Estas en el tema de Sumar dias habiles a fecha en el foro de PHP en Foros del Web. Cual es la manera más fácil para sumar días a una fecha tomando en cuenta sabados y domingos, es decir que me de un día ...
  #1 (permalink)  
Antiguo 21/06/2012, 13:04
Avatar de LUCA87  
Fecha de Ingreso: marzo-2012
Mensajes: 4
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta Sumar dias habiles a fecha

Cual es la manera más fácil para sumar días a una fecha tomando en cuenta sabados y domingos, es decir que me de un día hábil.
Lo he estado intentado de esta forma pero no se como hacer para que me tome en cuenta sábados y domingos:

Código PHP:
       $fecha "2012-06-21";
         
$sum =3;
        
$inicio strtotime($fecha);
        
$dias=($sum*86400); 
        
$Limitedate("Y-n-j"$inicio+$dias);
        
$fechaLimite explode("-"$Limite);
        
$anioLimite $fechaLimite[0];
        
$mesLimite $fechaLimite[1];
        
$diaLimite $fechaLimite[2];

       echo 
$diaLimite//24
         
echo $mesLimite//6
           
echo $anioLimite//2012 
Me da como resultado el 2462012 pero yo quiero que me de el 2662012
Como le hago
  #2 (permalink)  
Antiguo 22/06/2012, 10:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Sumar dias habiles a fecha

Yo use para hacer cuentas con dias la funcion mktime, me resulto muy efectiva:

http://php.net/manual/es/function.mktime.php

Aqui un simple ejemplo que use para ir al dia de ayer automaticamente, espero que te sirva como ejemplo:

Código PHP:
Ver original
  1. $fechaHoy = date("Y-m-d");
  2.     list($anio,$mes,$dia) = explode("-",$fechaHoy);
  3.     $fechaAyerTemp = mktime(0,0,0,$mes,$dia,$anio);
  4.     $fechaAyerTemp = $fechaAyerTemp - (60*60*24*1);
  5.     $fechaAyer = date("Y-m-d",$fechaAyerTemp);

Saludos!
Gustavo.

Etiquetas: dias, fecha, habiles
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 12:46.