[Resolvido]Data e hora do sistema (TimeStamp)

Pessoal, eu tenho um formulário em que eu salvo informações de um cliente ex:(nome, cpf, etc.), mais no banco eu tenho uma coluna do tipo TimeStamp e preciso salvar a data e hora do momento(windows).

Alguém ai sabe como eu poderia fazer isso ? Teria que usar o SimpleDateFormat né ?

at.

Isso?


private String getDateTime() {
		DateFormat dateFormat = new SimpleDateFormat("ddMMyyyy");
		Date date = new Date();
		return dateFormat.format(date);
	}

ps. Troca o formato da data…

Você quer que sua aplicação ou o banco faça isso?

Se for o banco… no insert coloque now() na coluna de data(timeStamp)

Se dor a aplicação…
vc tá usando Hibernate ou jdbc puro?

HIBERNATE: só dá um new Date() na data que vai salvar!

JDBC puro: a solução está aqui: http://www.guj.com.br/java/1928-gravar-data-em-um-jdbc

Obrigado Lucas_Carvalho, eu acabei de conseguir dessa forma

Timestamp dataDeHoje = new Timestamp(System.currentTimeMillis());

sendo que agora estou tentando formatar, pois salva no banco em um formato não adequado, mais vou tentar testar sua solução.

at.

[quote=Hadamanthys]Obrigado Lucas_Carvalho, eu acabei de conseguir dessa forma

Timestamp dataDeHoje = new Timestamp(System.currentTimeMillis());

sendo que agora estou tentando formatar, pois salva no banco em um formato não adequado, mais vou tentar testar sua solução.

at.[/quote]

Será que isso ajuda:

                Timestamp timestamp = new Timestamp(System.currentTimeMillis());
		String date = new SimpleDateFormat("dd/MM/yyyy").format(timestamp.getTime());
		System.out.println(date);

Até funciona, sendo que para o meu caso complica, porque preciso salvar no banco com tipo TimeStamp, até usei o que você indicou e depois converti, mais ele não deixa.

Usei assim

view plaincopy to clipboardprint?
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
String date = new SimpleDateFormat(“dd/MM/yyyy HH:mm”).format(timestamp.getTime());

cliente.setCli_dua(Timestamp.valueOf(date)); //Ele setCli_dua() = TimeStamp

Não funcionou, deu essa mensagem dizendo que o formato TimeStamp tem que ser yyyy-mm-dd hh:mm:ss

java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]  
    at java.sql.Timestamp.valueOf(Timestamp.java:235)  
    at br.com.sein.sisfat.controle.AdicionaCliente.service(AdicionaCliente.java:72)  
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)  
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)  
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)  
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)  
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)  
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)  
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)  
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)  
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)  
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)  
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)  
    at java.lang.Thread.run(Thread.java:722)  

Desse jeito aqui funcionou…

DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");  
Date date = new Date();  
System.out.println(dateFormat.format(date));  

É só mudar a máscara para o padrão que desejar. Assim com o Lucas informou.

Flw.

Vlww vou fazer isso, na hora que tiver que exibir, uso de novo o SimpleDateFormat e converto para String.
CERTO ?

Ok, pode ser. Faça o teste se ficar do jeito que você achar melhor, pelo menos você já sabe como fazer.

Tks.

Se sua dúvida foi solucinada coloque [Resolvido] no titulo do seu post.

Vlww obrigadão.