Por favor, alguém sabe me dizer porque quando eu carrego a data na AbstractTableModel ela retorna
a data com um dia de atraso?
ex: se eu salvar a data 12/04/2019, ao retornar na AbstractTableModel, ela aparece 11/04/2019.
Desde já agradeço!
// código que retorna a data formatadapublicDategetSundayDate(){returnsundayDate;}publicStringgetFormatedSundayDate(){returnnewSimpleDateFormat("dd/MM/yyyy",newLocale("pt","BR")).format(sundayDate);}// código que pega dados da view para inserir no bancopublicstaticjava.sql.DateconvertUtilDateSQLDate(java.util.DateutilDate){if(utilDate==null){//add log and return;returnnull;}longutilDateTime=utilDate.getTime();java.sql.DatesqlDate=newjava.sql.Date(utilDateTime);returnsqlDate;}DatesundayDate=reportView.getDcSundayDate().getDate();java.sql.DatesundayDateFormated=convertUtilDateSQLDate(sundayDate);
Isso está parecendo ser problema em outra coisa, e não na AbstractTableModel.
S
serginho_siq
No banco de dados salva corretamente, mas ao exibir, ela vem com este atraso.
staroski
Posta o código onde você lê a data do banco.
S
serginho_siq
// método que retorna os objetos data
publicListreadAll(){Listdatas=newArrayList<>();Datad;sql=“SELECT*FROMdatas”;try{pst=connect.prepareStatement(sql);rs=pst.executeQuery();if(rs!=null){while(rs.next()){d=newData();// id no bancod.setDataId(rs.getInt(1));// campo JDataChoser// este campo na JTtable da view fica um dia atrasado em relação ao banco de dadosd.setDcDate(rs.getDate(2));// campo com data para teste// este campo retorna a data correta na tabela (data normal)d.setTxtDate(rs.getString(3));datas.add(d);}returndatas;}}catch(SQLExceptione){System.out.println("ERRO AO LISTAR AS DATA "+e);}finally{DbConnection.closeConnection(connect,pst,rs);}returndatas;}
S
serginho_siq
// Estava usando AbstractTableModel, mas fiz com DefaultTableModel, para testar se era a tabela.
// Mas, não é.
Já verificou a possibilidade de TimeZone diferentes entre aplicação e BD?
staroski
Posta o fonte da classe Data.
Quais são as colunas da tabela (nome e tipo de dado)?
Por que você obtém a coluna 2 como Date e a coluna 3 como String se ambas são datas?
S
serginho_siq
A coluna dois eu usei o JDataChoser, e a coluna três um campo formatado para data. Fiz isto para tentar
identificar o erro. Só deu erro na coluna do JDataChoser.