Como comparar dados do banco com tela em java

Existem várias formas de comparar datas usando Java. Internamente, na linguagem, uma data é representada como um ponto no tempo usando uma variável long. Nela, é guardada a quantidade de milissegundos que passaram desde o dia primeiro de janeiro de 1970. No Java, existe a classe Date (data), que contém vários métodos que ajudam a realizar comparações. Qualquer método de comparação vai basicamente comparar os tempos guardados em dois objetos Date.

  1. 1

    Use o método compareTo. A classe Date implementa a interface Comparable<Date>, logo, duas datas podem ser comparadas usando o método compareTo. Se as datas forem iguais, o método retornará zero. Se a data que está sendo comparada for anterior à data passada como argumento, um valor menor que zero será retornado. Se o contrário acontecer, o valor retornado será maior que zero. [1] X Fonte de pesquisa Ir à fonte

  2. 2

    Crie os objetos de data. Você precisará criar um objeto para cada data antes de compará-las. Um jeito de fazer isso é usar a classe SimpleDateFormat. Ela permite que você transforme facilmente uma data em um objeto de data.

      SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); //Definindo o formato de declaração de novos objetos de data. Use o mesmo formato ao declarar novas datas Date data1 = sdf.parse("23-02-1995"); //data1 é 23 de fevereiro de 1995 Date data2 = sdf.parse("31-10-2001"); //data2 é 31 de outubro de 2001 Date data3 = sdf.parse("23-02-1995"); //data3 é 23 de fevereiro de 1995

  3. 3

    Compare os objetos de data. O código abaixo vai demonstrar cada caso, onde datas iguais, menores e maiores são passadas como argumento.

      data1.compareTo(date2); //data1 < data2, retorna um valor menor que 0 data2.compareTo(date1); //data2 > data1, retorna um valor maior que 0 data1.compareTo(date3); //data1 = data3, então um 0 será mostrado no console

  1. 1

    Use os métodos equals, after e before (igual a, depois de e antes de, respectivamente). Você pode usar estes métodos para ajudar a comparar as datas. Se duas datas se referirem ao mesmo ponto no tempo, o método equals retornará verdadeiro. Os exemplos abaixo vão usar as datas que já criamos quando demonstramos o método compareTo. [2] X Fonte de pesquisa Ir à fonte

  2. 2

    Comparando usando o método before. O código abaixo mostra um caso que retorna verdadeiro e um que retorna falso. Se a data1 for anterior à data2, o before retorna true (verdadeiro). Caso contrário, ele retorna false (falso).

      System.out.print(data1.before(data2)); //escreve true System.out.print(data2.before(data2)); //escreve false

  3. 3

    Comparando usando o método after. O código abaixo mostra um caso que retorna verdadeiro e um que retorna falso. Se a data2 for posterior à data1, ele retorna true. Caso contrário, ele retorna false.

      System.out.print(data2.after(data1));//escreve true System.out.print(data1.after(data2));//escreve false

  4. 4

    Comparando usando o método equals. O código abaixo mostra um caso que retorna verdadeiro e um que retorna falso. Se as datas forem iguais, o método equals retornará verdadeiro. Caso contrário, ele retornará falso.

      System.out.print(data1.equals(data3));//escreve true System.out.print(data1.equals(data2));//escreve false

  1. 1

    Use o calendário. A classe Calendar também tem os métodos compareTo, equals, after e before, e eles funcionam da mesma maneira que descrevemos acima na classe date. Como a informação de uma data é guardada no calendário, não há necessidade de extrair a data para fazer a comparação.[3] X Fonte de pesquisa Ir à fonte

  2. 2

    Crie instâncias de objetos Calendar. Para usar os métodos da classe Calendar, será necessário instanciar objetos desta classe. A boa notícia é que você pode extrair a data de instâncias Date criadas previamente.

      Calendar cal1 = Calendar.getInstance(); //declara cal1 Calendar cal2 = Calendar.getInstance(); //declara cal2 Calendar cal3 = Calendar.getInstance(); //declara cal3 cal1.setTime(data1); //aplica a data ao cal1 cal2.setTime(data2); cal3.setTime(date3);

  3. 3

    Compare cal1 e cal2 usando o before. O código abaixo deve retornar true, pois cal1 é anterior a cal2.

      System.out.print(cal1.before(cal2)); //retorna true

  4. 4

    Compare cal1 e cal2 usando o after. O código abaixo deve retornar false, pois cal2 é anterior a cal1.

      System.out.print(cal1.after(cal2)); //retorna false

  5. 5

    Compare cal1 e cal2 usando o equals. O código abaixo demonstra um exemplo de um caso verdadeiro e de um caso falso. O que define a resposta são as duas instâncias da classe Calendar usadas na comparação. O código deve retornar "true" e depois "false" na linha seguinte.

      System.out.println(cal1.equals(cal3)); //retorna true: cal1 == cal3 System.out.print(cal1.equals(cal2)); //retorna false: cal1 != cal2

  1. 1

    Também é possível usar o getTime para comparar o horário de duas datas. Entretanto, as abordagens que mostramos anteriormente são mais simples, por isso, dê preferência a elas. Esta será uma comparação de dois tipos primitivos de dados em java, por isso, ela pode ser feita usando os operadores "<", ">" e "==".

  2. 2

    Criando objetos long para representar tempo. Antes de comparar as datas, crie inteiros long e atribua a eles os objetos Date que criamos anteriormente. Por sorte, o método getTime() fará todo o trabalho para você.

      long time1 = getTime(data1); //declara o tipo primitivo time1 a partir de data1 long time2 = getTime(data2); //declara o tipo primitivo time2 a partir de data2

  3. 3

    Faça uma comparação "menor que". Para isso, use o símbolo "<" ao comparar dois inteiros. Como time1 é menor que time2, a primeira mensagem deve ser exibida. O else foi incluído apenas por questão de sintaxe.

      if(time1 < time2){ System.out.println("data1 é anterior a data2"); //aparecerá na tela, pois time1 < time2 } else{ System.out.println("data1 não é anterior a data2"); }

  4. 4

    Faça uma comparação "maior que". Para isso, use o símbolo ">" ao comparar os dois inteiros. Como time1 é maior que time2, a primeira mensagem deve aparecer na tela. O else foi incluído apenas por questão de sintaxe.

      if(time2 > time1){ System.out.println("date2 é posterior a date1"); //será mostrado, pois time2 > time1 } else{ System.out.println("date2 não é posterior a date1"); }

  5. 5

    Faça um teste de igualdade. Use o símbolo "==" para testar a igualdade ao comparar dois inteiros. Como time1 é igual a time3, a primeira mensagem deve aparecer na tela. Se o programa chegar ao else, significa que as datas não são iguais.[4] X Fonte de pesquisa Ir à fonte

      if(time1 == time2){ System.out.println("as datas são iguais"); } else{ System.out.println("as datas não são iguais"); //aparecerá na tela, pois time1 != time2 }

O wikiHow é uma "wiki"; ou seja, muitos de nossos artigos são escritos em parceria com várias pessoas. Para criar este artigo, autores voluntários trabalharam para editá-lo e melhorá-lo desde seu início. Este artigo foi visualizado 28 915 vezes.

Categorias: Programação

Esta página foi acessada 28 915 vezes.