Foros del Web » Programando para Internet » PHP »

como ignorar sabados y domingos entre dos fechas

Estas en el tema de como ignorar sabados y domingos entre dos fechas en el foro de PHP en Foros del Web. hola miren les planteo mi problema quiero calcular los dias que estan entre 2 fechas exepto sabados y domingos por ejemplo tengo estas 2 fechas ...
  #1 (permalink)  
Antiguo 19/10/2010, 02:33
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
como ignorar sabados y domingos entre dos fechas

hola miren les planteo mi problema quiero calcular los dias que estan entre 2 fechas exepto sabados y domingos por ejemplo tengo estas 2 fechas
$fecha1 = '20-10-2010';

$fechas2 = '25-10-2010';

con un codigo que me encontre en este foro puedo calcular los dias que estan entre esas dos fechas
los cuales son 21-10-2010 , 22-10-2010 , 23-10-2010 , 24-10-2010
hasta ahi no tengo ni un problema con el codigo que postearon en este foro
ahora mi duda es la siguiente como ago para que en esas fechas no caiga un sabado ni un domingo solo dias habiles mi codigo que estoy ocupando para esto es el siguiente
Código PHP:
$fecha1 strtotime('2010-10-20');
$fecha2 strtotime('2010-10-25');
for(
$fecha1;$fecha1<=$fecha2;$fecha1=strtotime('+1 day ' date('Y-m-d',$fecha1))){
    echo 
date('Y-m-d',$fecha1) . '<br />';

Nota las fechas van acambiar no siempre serna las mismas por eso quiero que no caiga ni en sabados ni domingos osea que no me cuente esos dias si cae en un sabado la fecha 2 que me lo ignore y que me cuente el lunes y no el sabado
  #2 (permalink)  
Antiguo 19/10/2010, 02:39
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: como ignorar sabados y domingos entre dos fechas

Mira esto:
http://nideaderedes.urlansoft.com/20...s-ni-domingos/
  #3 (permalink)  
Antiguo 19/10/2010, 02:54
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como ignorar sabados y domingos entre dos fechas

Cita:
Iniciado por gogupe Ver Mensaje
Mira esto:
[url]http://nideaderedes.urlansoft.com/2008/10/21/funcion-en-mysql-para-contar-dias-entre-dos-fechas-sin-contar-sabanos-ni-domingos/[/url]
pero eso es con mysql yo lo quiero con php mira ya estoy tratando de hacerlo y ya no me cuenta los dias sabado ni domingos solo que me marca un error mira posteo el codigo
Código PHP:
<?php

function sumasdiasemana($fecha,$dias)
{
$datestartstrtotime($fecha);
$diasemana date('N',$datestart);//es para obtener el dia de la semana (Jueves = 4)

$totaldias $diasemana+$dias;

$findesemana =  intval$totaldias/5) *

$diasabado $totaldias 
if (
$diasabado==6$findesemana++;
if (
$diasabado==0$findesemana=$findesemana-2;//para que no me tome el viernes como fin de semana
$total = (($dias+$findesemana) * 86400)+$datestart ;  

return 
$twstart=date('Y-m-d'$total);
}
 
$fechr=date("Y-n-j");

 
$final=sumasdiasemana($fechr,4)//aqui el cuatro son los dias que yo le sumare ala fecha
?>
<?php 
//este es mi codigo para calcular las fechas que hay entre las dos fechas
$fecha1 strtotime($fechr);
$fecha2 strtotime($final);
for(
$fecha1;$fecha1<=$fecha2;$fecha1=strtotime('+1 day ' sumasdiasemana (date('Y-m-d',$fecha1)))){
    
    
//aqui vuelvo a ocupar esa funcion para que no me cuente los sabdos ni //domingos igual lo ocupo arribita en el  for pero al imprimir  si me hace los calculos //solo que me marca este error
//Warning: Missing argument 2 for sumasdiasemana(), called in //C:\xampp\htdocs\proyectos\calando\resta.php on line 30 and defined in //C:\xampp\htdocs\proyectos\calando\resta.php on line 3 
    
echo sumasdiasemana (date('Y-m-d',$fecha1)). '<br />';
}
 
?>
que es lo que tengo mal?
  #4 (permalink)  
Antiguo 19/10/2010, 02:56
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: como ignorar sabados y domingos entre dos fechas

prueba esto a ver que tal:
Código PHP:
$fecha1 strtotime('2010-10-20'); 
$fecha2 strtotime('2010-10-25'); 
for(
$fecha1;$fecha1<=$fecha2;$fecha1=strtotime('+1 day ' date('Y-m-d',$fecha1))){ 
    if((
strcmp(date('D',$fecha1),'Sun')!=0) || (strcmp(date('D',$fecha1),'Sat')!=0)){
        echo 
date('Y-m-d D',$fecha1) . '<br />'
    }

  #5 (permalink)  
Antiguo 19/10/2010, 10:07
(Desactivado)
 
Fecha de Ingreso: agosto-2009
Mensajes: 37
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como ignorar sabados y domingos entre dos fechas

Hola ballu muchisimas gracias me sacaste de un apuro si me sirvio el codigo mira solo ise una correccion ya que asi com me lo pasaste si me contaba los sabdos y domingos pero solo era cuestion de cambiar esto || por and y ya me jalo muchas gracias mi brother

Etiquetas: dos, fechas, ignorar
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.
Tema Cerrado




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