[RESOLVIDO] Quando eu converto a data dá uma diferença de um dia
8 respostas
8
8eduardo8
Bom dia,
O meu problema é simples, porém não encontrei em nenhum lugar a solução.
Tem uma tela que recebe uma data, eu faço uma consulta no banco com essa data, porém quando eu imprimo o SQL da consulta na tela, dá uma diferença de um dia.
Ex:
Se eu digitei na página WEB 20/09/2012, quando vai para a minha consulta sai 19/09/2012.
StringdataF=newSimpleDateFormat("dd-MM-yyyy").format(data);ResultSetresult=con.consultar("select * from RDV_Tipo WHERE dataInicial <= '"+dataF+"' and dataFinal >= '"+dataF+"'");
Sim, eu concordo com você, mas independente da maneira como eu vou gravar, quando eu quero saber o valor que a variável possui está dando um dia de diferença.
Por exemplo, tem uma outra parte do código que eu exibo uma mensagem para o usuário caso a data digitada não esteja no intervalo correto.
Mensagem.Erro("NENHUM RDV FOI ENCONTRADO COM ESSA DATA '"+newSimpleDateFormat("dd/MM/yyyy").format(despesaLancamento.getData()),"DIGITE A DATA");
Nesse trecho de código acontece o mesmo erro, se eu digito na Página WEB 20/09/2012, a mensagem que é retornada para o usuário é :
NENHUM RDV FOI ENCONTRADO COM ESSA DATA ‘19/09/2012’
E
eduardimaa
Na classe java…
importjava.util.Date;privateDatedata_desejada;
<h:outputLabel value="Dia de Ocorrência da Omissão" for="diaOcOmss" />
<p:calendar id="diaOcOmss" required="true" effect="explode"
pattern="dd/MM/yyyy"
requiredMessage="Selecione o dia de ocorrência da Omissão."
value="#{omissaoBean.omissao.data_ocor_omissao}" />
Utilizo assim, e não da erro nenhum…
Muito simples, nem precisa de conversão…
8
8eduardo8
Eu já usei Prime e nunca tive problemas também, só que nesse projeto eu tenho que usar JSF puro, será que ninguém passou por esse problema.
É muito estranho ele voltar a data, nunca tinha visto isso antes.
Obrigado
E
eduardimaa
entendi…vou da uma olhada…qualquer posto aki…abraçuuu
O
oyama
Eu já
Isto ocorre por problema de TimeZone e Daylight Saving Time (horário de verão). Dependendo do caso é só configurar o banco de dados e a JVM do servidor com a mesma configuração.
8
8eduardo8
Vlw, você podia me dizer como eu poderia configurar o TimeZone?
8
8eduardo8
Consegui resolver o problema,
tem duas maneiras de corrigir o TimeZone
NA HORA DE CONVERTER A DATA COLOCAR O TIMEZONE CORRETO