[RESOLVIDO] Validação de datas

3 respostas
F

Galera estou com um problema de validação de data ao comparar uma data atual cm uma data armazenada no banco.

Meu código é esse:

private void validacao() throws SQLException{
        
        pstm = AcessoMySql2.conectar().prepareStatement(consultaLicenca);
        rs = pstm.executeQuery();
        rs.last();
       
        SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
        Date dataBanco = rs.getDate("data_expiracao");
  
        java.util.Date d = new java.util.Date();
        java.sql.Date dataSistema = java.sql.Date.valueOf(formato.format(d));
         
       
        if(dataBanco == dataSistema){
            this.setLocationRelativeTo(null);
            JOptionPane.showMessageDialog(null, "BLZ!!!");
        }else{
            
        }      
 }

Ele fala que as datas não são iguais, apesar de serem, pelo menos é o que mostra no debug.

Observação: chamo o método depois do initComponets(), ou seja, quando iniciar a aplicação, deveria retornar pra mim no centro, mas não retorna.

Segue a imagem do debug:

O que estou fazendo de errado?

3 Respostas

Villagram

Bom dia amigo.

O problema inicial é que você está comparando dois objetos diferentes e o segundo problema é que você nunca deve usar “==” para comparar objetos e sim “equals”;

private void validacao() throws SQLException, ParseException{

    pstm = AcessoMySql2.conectar().prepareStatement(consultaLicenca);
    rs = pstm.executeQuery();
    rs.last();

    SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
    Date dataBanco = rs.getDate("data_expiracao");

    java.util.Date d = new java.util.Date();
    java.util.Date dataSistema = formato.parse(formato.format(d));


    if(dataBanco.equals(dataSistema)){
        this.setLocationRelativeTo(null);
        JOptionPane.showMessageDialog(null, "BLZ!!!");
    }
}

Espero que ajude. :metal::sunglasses::metal:

F

Opa amigão, boa. muito obrigado pela dica. Mais tarde posto o resultado.

F

Deu certo amigo. Obrigado !!

Criado 6 de fevereiro de 2019
Ultima resposta 7 de fev. de 2019
Respostas 3
Participantes 2