Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Frankie Hummel

[Resolvido] contas parceladas

Recommended Posts

Olá pessoal preciso da ajuda de vcs.

 

Estou desenvolvendo um sistema para um cliente onde eu cadastro várias contas com as respectivas data de vencimento. até ai tudo bem mas ele precisa que nesse sistema tenha contas parceladas ai começa o problema eu tenho as seguintes variaveis

 

$PAGAR_VENCIMENTO = "01/01/2011";

$QTD = "2"; //responsável por quantas vezes será parcelado esse titulo

$INTERVALO = "30x30"; //responsavel por parcelar de 30 em 30 dias mas poderia ser de 20x20 ou 15x15

 

 

porém a particularidade vem agora, esse titulo ao ser parcelado tem a necessidade de verificar se o titulo vai cair em um sábedo ou domingo se for tem que antecipar a data de vencimento para uma sexta feira antes do sabádo ou domingo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só... se você estiver gerando boleto e a data de vencimento cair em um sábado ou domingo você tem que considerar o dia util seguinte, ou seja a segunda feira, nunca você antecipa a cobrança...

 

Estou te passando uma função abaixo que verifica os sabados e domingos, o problema fica com relação aos feriados, nesse caso você tem que armazenar essa informação em um banco de dados:

 

function dias_uteis($mes, $ano){

// Primeiro dia do mês
$firstday = date("M-d-Y", mktime(0, 0, 0, $mes, 1, $ano));

// Último dia do mês
$lastday = date("M-d-Y", mktime(0, 0, 0, $mes + 1, 0, $ano));

$count = 0;
$workday = 0;

while( ($lastday > $firstday) && ($count <= 32) ){
$firstday = date("M-d-Y", mktime(0, 0, 0, $mes, $count + 1, $ano));

if ( ( date("w", mktime(0, 0, 0, $mes, $count + 1, $ano)) > 0 ) && ( date("w", mktime(0, 0, 0, $mes, $count + 1, $ano)) <>
$workday += 1;

$count += 1;

}
return $workday;
}


// Pra chamar a função:
echo 'jan 2010 : ' . dias_uteis( 1, 2010);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.