Validar intervalo de horas

5 respostas
T

Galera estou procurando na internet mais nao estou conseguindo encontrar em nenhum lugar como eu faço para resolver meu problema.

É o seguinte eu preciso validar utilizando a classe JODA-TIME se o horario atual do sistema no caso (17:05) esta dentro do intervalo 0:01 até 19:45 ?

Qual metodo poderia fazer essa validação ???

5 Respostas

J

Olá, não sei como funciona a biblioteca Joda-time, acho ela muito confusa, mas com java.util.Date é fácil.
Se entendi o que vc está querendo, seria assim:

public boolean validate(Date now, Date start, Date end) {
  if(now == null || start == null || end == null)
    return false;
  return now.after(start) && now.before(end);
}
T

isso eu posso trabalhar somente com horas ou preciso envolver data?

Outra pergunta eu estava usando essa bibliteca para trabalhar calculos entre dias mas a mesma me retornava calculos errados para datas que ultrapassavam um mes dai parti pro jodatime vou postar aqui depois como fazia o calculo entre dias de duas datas para vc ver como gerava problemas talvez vc tenha alguma solucao

J

Na verdade tenho uma solução que desenvolvi.
É uma biblioteca para manipulação de Datas chamada SimpleDate.
Só tem duas classes na biblioteca, uma é SimpleDate que herda de java.util.Date para compatibilidade e a outra é DateDiff, para calcular a diferença de tempo entre datas
Pelo menos eu acho muito fácil de trabalhar, olha só:

//para verificar se a data está entre um determinado intervalo.
SimpleDate now = new SimpleDate();
SimpleDate start = now.clone().hour(0).minute(1);
SimpleDate end = now.clone().hour(19).minute(45);
boolean isBetween = now.isBetween(start, end);

//para calcular a diferença de tempo entre duas datas
SimpleDate now = new SimpleDate();
SimpleDate tomorrow = now.clone().addDay(1);
int daysBetween = now.diff(tomorrow).days();
int hoursBetween = now.diff(tomorrow).hours();

Está bem documentada com exemplos e tal, se te interessar posso te passar ela.
.

T

Ola amigo obrigado pela ajuda e gostaria sim de receber essa classe mas pensando melhor voce poderia colocar ela aqui mesmo no post para que outras pessoas que possuirem a mesma duvida possam aproveitar da sua boa vontade.

J

Ok.

Segue então minha humilde solução para manipulação de datas.
Espero que seja útil.

Por favor critiquem ou elogiem, sugestões são bem vindas.

Criado 6 de dezembro de 2011
Ultima resposta 7 de dez. de 2011
Respostas 5
Participantes 2