Não contar o domingo(calendar)

1 resposta
Jrmanzini
public int verificaData(Calendar dataEmp) {
       
        int dia = calendario.get(Calendar.DAY_OF_MONTH);
        int mes = calendario.get(Calendar.MONTH);
        int ano = calendario.get(Calendar.YEAR);
        mes++;
        dataAtual.set(ano, mes, dia);
        dataAtual.getInstance();
        //hoje=(String.valueOf(dataAtual));
        Integer atraso = 0;

        long diferenca = dataAtual.getTimeInMillis() -
        dataEmp.getTimeInMillis();
        int tempoDia = 1000 * 60 * 60 * 24;
        long diasDiferenca = diferenca / tempoDia;
        diasDiferenca=diasDiferenca;
        return (int) diasDiferenca;
}

Olá pessoal…essa função me retorna a diferença entre duas datas, esta funcionando beleza, mas preciso eliminar os domingos da contagem…alguem pode me ajudar?
Muito obrigado!

1 Resposta

Frantic_Avenger

O jeito que pensei é, você pegar o resultado da divisão por 7 (arredondato para baixo) e depois somar o resto da divisão ao seu 1º dia para ver se passa um domingo a mais.
Exemplo:
[color=blue]Sexta (dia 14/05) até Terça (dia 25/05)
11 Dias de diferença -> 11/7 = 1 (resta 4)
Do dia 14/05 até o dia 18/05 (14/05 (1º dia) + 4 (resto da divisão)) haverá um domingo
Logo: Resto da divisão + Outra conta (dia + resto da divisão) = 1 + 1 = 2
Haverão 2 domingos

ou

Terça (dia 25/05) até Sábado (dia 05/06)
11 Dias de diferença -> 11/7 = 1 (resta 4)
Do dia 25/05 até o dia 29/05 (25/05 (1º dia) + 4 (resto da divisão)) não haverá nenhum domingo
Logo: Resto da divisão + Outra conta (dia + resto da divisão) = 1 + 0 = 1
Haverá 1 domingo[/color]

Espero ter ajudado. Flw

Criado 14 de maio de 2010
Ultima resposta 14 de mai. de 2010
Respostas 1
Participantes 2