Calcular dias da semana no Java
Pessoal, tudo bem?
Estou com um problema onde preciso calcular dias uteis(segunda a sexta) através de uma data. Por exemplo tenho essas variáveis:
DataInicio: 01/01/2016
DataFim: Atual (06/01/2016)
Tirando sábado e domingo temos 3 dias. Preciso fazer esse calculo, não preciso calcular os feriados não interfere pra mim.
Alguém sabe como resolver isso?
Estou com um problema onde preciso calcular dias uteis(segunda a sexta) através de uma data. Por exemplo tenho essas variáveis:
DataInicio: 01/01/2016
DataFim: Atual (06/01/2016)
Tirando sábado e domingo temos 3 dias. Preciso fazer esse calculo, não preciso calcular os feriados não interfere pra mim.
Alguém sabe como resolver isso?
Danilo Junior
Curtidas 0
Melhor post
Jothaz
06/01/2016
A muitos tempo atras usei o método abaixo, que achei na internet, para calcular os dias úteis de um determinada data até a data de hoje.
Veja se consegue adaptar a sua necessidade.
Tem muto tempo que não desenvolvo em Java e nem sei se o método abaixo é a melhor forma de fazer isto ou se tem algo melhor, mas se lhe ajudar ótimo.
Veja se consegue adaptar a sua necessidade.
Tem muto tempo que não desenvolvo em Java e nem sei se o método abaixo é a melhor forma de fazer isto ou se tem algo melhor, mas se lhe ajudar ótimo.
public static int nuDiasExecutadosUteis (Date dataInicio) {
//Numero de dias que se passaram, sem contar com a data inicio e data fim
//Observação: Contando que a data inicio e data fim sejam dias uteis
int nuDiasExecutados = (int) (new Date().getTime() - dataInicio.getTime()) / 86400000;
int totalDiasExecutadosUteis = 0;
Calendar cal = Calendar.getInstance();
cal.setTime(dataInicio);
for (int i = 1; i<= nuDiasExecutados ; i++){
//Acrescenta mais um dia na data para poder verificar se é dia util
cal.add(Calendar.DATE, 1);
//Verifica se não é dia util
if (cal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && cal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
totalDiasExecutadosUteis +=1;
}
}
return totalDiasExecutadosUteis;
}
GOSTEI 1