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…
celso.martins
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…
Assino embaixo!
A
AndersonDutra
Tentei usar o formatar.parse aqui e ele está dando o erro “Unparseable date”.
celso.martins
Veja se não é o espaço que está depois da sua máscara de formatação.
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???
rodrigoallemand
O pattern de formatação (esse dd/MM/yyyy) deve estar no mesmo padrão da string contendo a data a ser parseada…
Valeu! Era isso mesmo que queria saber. O que vai na hora, no segundos etc. Vou testar aqui.
rodrigoallemand
AndersonDutra:
Ops!!! :oops:
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???
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?!?
A
AndersonDutra
Estou usando JDBC.
Teste aqui e joguei na máscara o seguinte formato:
(“dd/MM/yy HH:mm:ss, 000000”)
Mandei ele imprimir e ficou igual ao do banco, mas quando eu jogo ele no select ele dá o seguinte erro:
“Foi localizado um caracter não numérico onde se esperava um numérico”
O que pode ser??
rodrigoallemand
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…
A
AndersonDutra
Vou ver aqui no banco para tirar esse “,000000”. Daqui a pouco coloco a resposta aqui.
rodrigoallemand
Calmae!!!
Vc não precisa tirar o “,000” do banco não… apenas ignore esses valores no pattern a ser utilizado…
Ei!?!?!?
Não!!!
Não execute esse delete * from tabela não!!! Volta aqui!!! auhauhauhauihauh
<%@pageimport="java.util.*"%><%@pageimport="java.text.SimpleDateFormat"%><%@pageimport="java.text.DateFormat"%><%@pageimport="java.sql.Date.*"%><html><head><%Connectioncon=null;Statementst=null;ResultSetres=null;Stringmatr;Dateadmissao=request.getParameter("ADMISSAO");Stringformato="dd-MM-yyyy";SimpleDateFormatformatter=newSimpleDateFormat(formato);%><tr><td><hr></td></tr>Consultafériaspormatrícula.
<tableborder="0"cellpadding="0"cellspacing="0"width="100%"><tbody><tr><td> </td></tr></tbody></table><tablenosave=""cellspacing="2"cols="7"><tbody><trbgcolor="#e6e6e6"><tdnosave=""><fontface="Arial, Helvetica, sans-serif"size="2"><b>Matrícula</b></font></td><td><fontface="Arial, Helvetica, sans-serif"size="2"><b>Datadeadmissão</b></font></td></tr><%try{Class.forName("org.gjt.mm.mysql.Driver");con=DriverManager.getConnection("jdbc:mysql://localhost/ferias","rusther","rust");st=con.createStatement();Stringquery="select MATRICULA,ADMISSAO from FERIAS ";res=st.executeQuery(query);while(res.next()){matr=res.getString("MATRICULA");admissao=formatter.format(res.getDate("ADMISSAO"));%><tr><tdnowrap="nowrap"><ahref="alteracao.jsp?MATRICULA=<%=matr%>&ADMISSAO=<%=admissao%>";><tdnowrap="nowrap"><fontface="Arial, Helvetica, sans-serif"size="2"><%=matr%></font></td><tdnowrap="nowrap"><fontface="Arial, Helvetica, sans-serif"size="2"><%=admissao%></font></td></tr><%}con.close();}catch(ClassNotFoundExceptioncnfex){out.println("Nao carregou o Driver!");}catch(SQLExceptionsqlex){out.println("Nao conectou ao banco!");}%></table></tbody></table></body></html>
Abraços
A
AndersonDutra
Blz!! Não alterei nada no banco não. Estou fazendo um teste aqui e daqui a pouco coloco o resultado.
rodrigoallemand
:roll:Abrindo a conexão na view??? humm… deixa pra lá… :roll:
Poste o erro pra eu ver o que aconteceu…
A
AndersonDutra
É 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.