Boa tarde pessoal, estou eu aqui mais um vez pra pedir ajuda a vcs , vou passar o código e no fim dele explico qual o problema. Só uma observação que o Date que tô usando é java.util.Date.
Então, a questão é que eu passo um obj Date para a classe Pessoa e ele imprime -> Nome : Henrique Data: Wed Jul 15 00:00:00 BRT 2009, na minha classe Main, gostaria que ele imprimisse 15/07/1984. Tenho que mudar o construtor da minha classe Pessoa pra DAteFormat, ou posso continuar usando Date no construtor de Pessoa? Gostaria que ainda continuasse sendo Date no construtor e mesmo assim imprimisse 15/07/1984.
Blz, mas no caso do construtor da classe Pessoa, eu deveria mudar pra SimpleDateFormat ou podia continuar com Date? Se continuasse com Date como faria pra converter SimpleDateFormat em Date para mandar pro meu construtor de Pessoa?
valeu pela dica!
viniciusfaleiro
Utilize o SimpleDateFormatter apenas na hora de exibir sua data… Deixe sua entidade como está…
Henrique_Fernandes
Pô cara eu tava pensando justamente em fazer isso e vc só fez confirmar oq eu ja queria fazer. Agora se não for pedir demais, estou usando MySQL e JDBC, e na minha tabela tenho nome (VARCHAR) e data(DATE) como campos. Qdo eu for dar um insert de uma pessoa no BD, eu posso deixar Date no construtor de Pessoa ou teria que modificar? O MySQL vai aceitar eu mandar o Date ou teria que ser em outro formato?
Agradecido desde sempre!!
Foxlol
Faça isso (SimpleDateFormat) no toString() da classe Pessoa.
[]'s
criador
Cara, uma opção é você criar na classe Pessoa a variável
Se vvc usar PreparedStatement (que é o aconselhado… hj mesmo postei um negócio pra um cara sobre como utilizar e separar SQL do código)…é muito simples…
Por exemplo:
Pessoap=newPessoa();p.setNome("Vinicius");p.setData(newData(System.curretTimeMillis()); //Pego data atualPreparedStatementstm=connection.PrepareStatement("INSERT INTO PESSOA (nome,data) VALUES (?,?)");//agoraeuprecisodizerquaisvaloreseuvouinserir,nocasoeusubstituios?
stm.setString(1,p.getNome());stm.setDate(2,p.getData());stm.execute();
Se vc colocar certinho dentro do BD os tipos das colunas é so utilizar PreparedStatement q ele tem todos os tipos de colunas disponiveis e faz as conversoes certinhas…setString, setInt, setDate… Não precisa formatar a data para 2009-09-09… Vai por mim… eu errei mto nisso… já quebrei mta cabeça
Foxlol
viniciusfaleiro:
Se vvc usar PreparedStatement (que é o aconselhado… hj mesmo postei um negócio pra um cara sobre como utilizar e separar SQL do código)…é muito simples…
Por exemplo:
Pessoap=newPessoa();p.setNome("Vinicius");p.setData(newData(System.curretTimeMillis()); //Pego data atualPreparedStatementstm=connection.PrepareStatement("INSERT INTO PESSOA (nome,data) VALUES (?,?)");//agoraeuprecisodizerquaisvaloreseuvouinserir,nocasoeusubstituios?
stm.setString(1,p.getNome());stm.setDate(2,p.getData());stm.execute();
Se vc colocar certinho dentro do BD os tipos das colunas é so utilizar PreparedStatement q ele tem todos os tipos de colunas disponiveis e faz as conversoes certinhas…setString, setInt, setDate… Não precisa formatar a data para 2009-09-09… Vai por mim… eu errei mto nisso… já quebrei mta cabeça
Acho que essa não é a dúvida dele :roll:
B
bobmoe
bixo, em java vc tem q ficar esperto com uma função que chama toString. é ela que é chamada por padrão quando vc precisa exibir alguma coisa, sem usar um método específico para impressão. antes de qualquer coisa, pesquise sobre isso.
vc terá q fazer uma função que monte essa data do jeito que vc quer, pois a maquina virtual não tem como adivinhar como vc vai querer essa data
as dicas acima vão te ajudar nisso.
++ editado +++
q mancada, vc ja tava implementando o toString… esque oq falei. abraço!
Henrique_Fernandes
Valeu mesmo galera, a todos que me ajudaram tanto na parte pra imprimir , qto na parte para inserir a classe Pessoa no MySQL.
Um abraço a todos!
Vini_Fernandes
Entao cara, como o que voce deseja nao faz parte da modelagem da sua classe, entao creio que ficara melhor modificando a implementacao do seu toString():
[color=red]AJUDA[/color]
Preciso fazer uma alicação que ao ser inicializada já dispare a data atual! Detalhe que existe um campo [color=green]jTextField[/color] que a data deve ficar atualizando de segundo em segundo como faço?
:?
B
Bruno_Laturner
Crie um tópico separado para as tuas dúvidas sonictk.
Mas respondendo, dê uma olhada no Timer, e implemente um TimerTask que execute a atualização do campo.
sonictk
Bruno Laturner:
…
Mas respondendo, dê uma olhada no Timer, e implemente um TimerTask que execute a atualização do campo.
Já tinha visto, e não consegui fazer, por isso pedi ajuda aqui … :?