Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal.
Bom, gostaria de ter uma ideia de como resolver esse problema.
Tenho um sistema que controla pedidos de folga,
O funcionário tem direito a 4 dias de folga e ele seleciona a data de inicio e a data de fim da folga. O sistema verifica a data inicio e data fim e calcula a diferença para vê se ele colocou data q a diferença passa de 4 dias.
Só que tenho o problema de final de semana, gostaria que ele ignorasse os dias de final de semana.
Ex: Tenho 4 dias, peço folga do dia 25/11/2011 à 30/11/2011, para o sistema ele vai contar 6 dias por causa do final de semana, mas ai que está, eu gostaria que ele ignorasse esse final de semana e contasse só 4.
Alguma ideia?
Não posto o código fonte do que já tenho pq o calendário eu pequei pronto.
Mas só a ideia de como resolver já ajuda.
Vlw
Sim, mas como vou saber qual dai da semana é a data que o funcionario vai escolher.
Ex: se ele escolhe 3 dias de folga, 25 a 27, o dia 26 não e registrado nem contado, pq o sistema pega 27-25=3 dias e valida.
Para o final de semana seria a mesma coisa, 25 a 28, sistema vai calcular 28-25=4, mas dia 26 e 27 é final de semana, como vou verificar esses dias se não aparece.
Não sei se fui claro.
Obrigado
A função date retorna o dia da semana a partir de uma data que você colocar, se ele colocar dia 26,27,28,29, deve entrar no sistema os dias por exemplo 26/11/2011 (fique atento ao formato, pq esse formato é brasileiro e deve ser convertido em americano), o importante é q a função date receba dia, mes e ano para tu simular e voltar o dia da semana em questão, com esse dia da semana tu valida.
edit - tu não precisa da hora...
Sim sim. Entendi como funciona a função date, fiz uns teste aqui e tm uso em algumas partes do sistema.
Só q nesse caso o dia 27 e 28 não existe, só os dias 26 e 29, o qual ele usa para calcular quantos dias de folga ele está cadastrando.
Acho q terei que fazer um while pra que ele corra do dia 26 a 29 e retire os dias do final de semana usando date("N").
Utiliza a função date em php, tem um parametro que retorna o dia da semana, depois é só tu simular...