Calcular dias da semana no Java
06/01/2016
0
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
Curtir tópico
+ 0
Responder
Post mais votado
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; }
Jothaz
Responder
Clique aqui para fazer login e interagir na Comunidade :)