Retornar Data do Sistema!

Olá Todos!

Estou precisando de uma ajuda com datas!
Preciso fazer um método que me retorne a data do sistema no formato yyyy-MM-dd (java.util.Date) para salvar no mysql 5.0.

Já pesquisei e o mais perto que cheguei foi este aqui com o SimpleDateFormat.
O problema é que ao chamá-lo ele me retorna sempre assim:

Data = Mon Sep 07 00:00:00 BRT 2009

Este é o método:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FuncoesData {
	public Date getDate() throws ParseException{
		SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");
		Date data = formatador.parse("2009-09-07");
		return data;
	}
}

Linha de Teste:

System.out.println("Data = "+funcoesData.getDate());

Se alguém tiver sugestão de como pegar esta data “No Formato java.util.Date” eu agradeço imensamente!!!

Desde já sou grato pela colaboração de todos.
Abraço.


//cria o formatador
		 SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");  
		 
		 //cria um objeto date com a data do sistema
		 Date dataDoSistema = new Date();
		 
		 //passa o objeto dataDoSistema para uma String da forma que pediu
		 String dataEmTexto = formatador.format(dataDoSistema);  
		 
		 //mostra a string
		 System.out.println(dataEmTexto); 

Lembrando que essa ai não é a melhor forma para fazer isso

se você está usando mysql, provavelmente o driver do mysql tem o método para vc entrar um objeto data, porque concatenar uma string de data em um comando insert é MUITO inseguro em todos os sentidos …

vc pode ou usar o java para inserir um objeto date no comando e não uma string com a data

ou vc pode, no proprio comando insert q vc tah escrevendo chamar a função do mysql que retorna a data …

ou vc pode fazer assim do jeito q c qr rsrs q nun é muito correto

se tu tiver afim de melhorar o código bota ai com oé o metodo que vc usa pra inserir no banco essa data ai … aí a gente vê como podemos melhar :slight_smile:

---------ops … acho que só agra entendi rs

vc quer que o OBJETO DATE retorno a data formatada? rsrs
bom, não posso dizer q é impossivel pq não fui eu quem fez a linguagem kkk ´mas tenho 99,9999% de certeza que não dah pra fazer … e na verdade não faz nenhum sentido fazer isso rsrs

quando vc chamar o metodo do driver do mysql para inserir no banco … o proprio driver vai ler o objeto date, converter para a forma que o mysql entende e inserir …
qq coisa, como eu disse, bota aí o metodo para inserir no banco q a gente vê

valeu

Como amigo acima disse, o proprio driver do mysql se encarregará de armazenar no formato d mysql:

faça sim:


java.sql.Date mysqlDate = new java.sql.Date(new java.util.Date().getTime());
PreparedStatement pstmt = conn.prepareStatement("insert into table(data) values (?)");
pstmt.setDate(1,mysqlDate);
pstmt.executeUpdate()

Eu faço assim:

String dataAtual = new java.text.SimpleDateFormat("dd.MM.yyyy").format(new java.util.Date());

No seu caso é assim: String dataAtual = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date());

Então dá um print no objeto “dataAtual” e veja se está como você deseja.

Boa Sorte.