Hora retorna com erro

4 respostas
C

Salve, salve galera do fórum. Bom dia!

Seguinte, estou com um problema meio que estranho, já pesquise e tentei resolver, mas o negocio não anda. :frowning:

Cenário:
Tenho a seguinte data (timestamp) no banco de dados:
Ex: 2012-10-03 09:46:02

Onde nos teste, utilizei duas maquinas. Uma delas com o horário de verão habilitado e a outra não. Fiz esse teste por que existem Estados que não utilizam o horário de verão.

Ai veio o problema. Na maquina onde estar habilitado o horário de verão aparece assim: 2012-10-03 10:46:02 (com uma hora a mais). Na outra aparece normal.

Mas se eu salvar uma data na maquina que esta habilitada o horário de verão, ex: 2012-10-03 12:00:00. Na maquina que não esta habilitada aparece assim: 2012-10-03 11:00:00 (decrementou uma hora).

Gostaria de saber se é possível ignorar isso, fazer com o que retorne, o que tem no banco, sem se importa com horário de verão.

Segue o código do método que estou utilizando para retornar as datas:

public List <Agenda> getList(){
		try{
			List <Agenda> agendas = new ArrayList<Agenda>();
			PreparedStatement stmt = connection.prepareStatement("select * from agenda);

			ResultSet rs = stmt.executeQuery();
			
			while(rs.next()){				
				Agenda agenda = new Agenda();

				agenda.setId(rs.getInt("id")); 			
				agenda.setDataAgendada(rs.getTimestamp("dataAgendada"));				
				
				agendas.add(agenda);
			}
			rs.close();
			stmt.close();
			return agendas;
 }

Desde já agradeço qualquer ajuda. Obrigado.

4 Respostas

guilherme.dio

Faz o seguinte, da um System.out.println(rs.getTimestamp(“dataAgendada”));

E cola aqui o que sai no console.

C

Opá Guilherme, obrigado por responder, cara segue print no console como você pedio:

//Com o horario de verão desabilitado
2012-11-08 13:00:00.0


//Com o horario de verão habilitado
2012-11-08 14:00:00.0
guilherme.dio

CharlesEduardo:
Opá Guilherme, obrigado por responder, cara segue print no console como você pedio:

//Com o horario de verão desabilitado
2012-11-08 13:00:00.0


//Com o horario de verão habilitado
2012-11-08 14:00:00.0

Nossa muito estranho o horário vir deste modo, porque se está armazenado no banco de dados, o valor é fixo não deveria sofrer alteração.

Já verificou direto no banco se a hora esta realmente correta ?

C

guilherme.dio:
CharlesEduardo:
Opá Guilherme, obrigado por responder, cara segue print no console como você pedio:

//Com o horario de verão desabilitado
2012-11-08 13:00:00.0


//Com o horario de verão habilitado
2012-11-08 14:00:00.0

Nossa muito estranho o horário vir deste modo, porque se está armazenado no banco de dados, o valor é fixo não deveria sofrer alteração.

Já verificou direto no banco se a hora esta realmente correta ?

Pois bem cara, muito estranho! No banco esta salvo como: 2012-11-08 13:00:00.0 (a maquina não estava com horario de verão habilitada quando salvei o dado). Já testei se era o gerenciador do banco, mas fiz testes com outro gerenciador de banco de dados, mas o problema continua. :frowning:

Criado 7 de novembro de 2012
Ultima resposta 8 de nov. de 2012
Respostas 4
Participantes 2