Estou com um problema quando listo o conteúdo de uma tabela e armazeno em uma lista a data está com um dia a menos.
Já pesquisei bastante pela web e não encontrei uma solução para o problema.
Abaixo o método de cadastro:
public String cadastrarPeriodo(LocalDate dataInicio, LocalDate dataFim) throws SQLException { String message = null; Connection con = ConexaoMySQL.getConexaoMySQL(); PreparedStatement stmt = null; try { stmt = con.prepareStatement(inserirPeriodoBancoHora); stmt.setDate(1, Date.valueOf(dataInicio)); stmt.setDate(2, Date.valueOf(dataFim)); int res = stmt.executeUpdate(); if(res == 1){ message = "Dados Registrados com Sucesso!"; } } catch (Exception e) { e.printStackTrace(); message = "Erro ao Salvar os Dados"; } finally { stmt.close(); con.close(); } return message; }
Método de pesquisa
public List<PeriodoBancoHora> listarPeriodosCadastrados() throws SQLException { List<PeriodoBancoHora> listaPeriodoBancoHora = new ArrayList<PeriodoBancoHora>(); Connection con = ConexaoMySQL.getConexaoMySQL(); PreparedStatement stmt = null; try { stmt = con.prepareStatement(listarPeriodosCadastrados); ResultSet res = stmt.executeQuery(); if(res.next()){ do { PeriodoBancoHora periodoBancoHora = new PeriodoBancoHora(); periodoBancoHora.setIdPeriodoBancoHora(res.getInt(1)); periodoBancoHora.setDataInicio(res.getDate(2).toLocalDate()); periodoBancoHora.setDataFim(res.getDate(3).toLocalDate()); listaPeriodoBancoHora.add(periodoBancoHora); } while (res.next()); } } catch (Exception e) { e.printStackTrace(); } finally { stmt.close(); con.close(); } return listaPeriodoBancoHora; }
No banco de dados está registrando o valor que estou informando na tela, porem o valor retornado está subtraindo 1 dia, conforme as imagens abaixo:
O conector do MySQL que estou utilizando é mysql-connector-java-6.0.6.jar.
Desde já agradeço.
Atenciosamente,