Estou com alguns problemas com datas, mas como são muitos vou começar pelo primeiro:
Na minha página JSP faço a seguinte formatação de data:
SimpleDateFormat formatar = new SimpleDateFormat("dd/MM/yyyy ");
Aí para teste, joguei a seguinte data:
Date dataRecepcaoConv= new Date("13/01/2007");
out.println("<script>alert('"+formatar.format(dataRecepcaoConv)+"')</script>");
Mas ele exibe a seguinte data:
Acho que não existe esse construtor de Data(String)…
Procure na documentação (API Java) para os contrutores de Data.
Mas te aconselho a utilização de Calendar, pois a java.util.Date tem muitos metos marcados como deprecated…
[quote=rodrigoallemand]Acho que não existe esse construtor de Data(String)…
Procure na documentação (API Java) para os contrutores de Data.
Mas te aconselho a utilização de Calendar, pois a java.util.Date tem muitos metos marcados como deprecated…[/quote]
Agora vem a segunda parte da dúvida. No banco eu tenho um campo Timestamp. Um exemplo de data que eu tenho lá é “08/07/07 19:06:09,000000”. Tenho 2 combobox que mostram 2 valores e eu escolho 2 datas para montar um intervalo. Eu tô pegando como string e mudando o formato para date e vou jogar em um select com between para realizar a consulta. Como tem que ser minha máscara para poder a data ficar como está aí em cima???
Agora vem a segunda parte da dúvida. No banco eu tenho um campo Timestamp. Um exemplo de data que eu tenho lá é “08/07/07 19:06:09,000000”. Tenho 2 combobox que mostram 2 valores e eu escolho 2 datas para montar um intervalo. Eu tô pegando como string e mudando o formato para date e vou jogar em um select com between para realizar a consulta. Como tem que ser minha máscara para poder a data ficar como está aí em cima???[/quote]
Vc pode setar as datas de várias maneiras… a mais simples é:
Vc pegar a data inicio como string, montar um calendário para ela (vide classe Calendar), setar a hora, o minuto e o segundo para o inicio do dia (00:00:00) e depois montar o mesmo para a data fim, só que colocando a hora para 23:59:59…
Qual o modelo de consulta vc está usando? Hibernate ou JDBC?!?
Pode ser o “,000000”…
Esqueça os milisegundos, se isso não for realmente necessário nessa consulta…
Vc pode transformar o seu timestamp somente até os segundos…
É o seguinte. Criei um código em java que pega a minha instrução sql que tá na página e escreve em um arquivo de texto. Fiz isso por que como dá erro, ele não exibe um out.print que eu coloquei para exibir ela em um alert. Aí vai a linha que está no código e como ela fica depois de rodar a página:
Código
PreparedStatement stmt2 = conexao.prepareStatement(SELECT * FROM pontos1 where transmissao='"+tipo+"' and data_hora between '"+formatar.format(dataRecepcaoConv)+"' and '"+formatar.format(dataRecepcao1Conv)+"');
ResultSet rs=stmt2.executeQuery();
Como fica:
SELECT * FROM pontos1 where transmissao=‘receptor’ and data_hora between ‘08/07/07 19:06:09,000000’ and ‘08/07/07 19:40:40,000000’
Se eu jogar essa linha no banco ele dá certo, mas quando ela executa pelo JSP não vai.