Pessoal, bom dia…
Estou tendo um problema na minha aplicação. Essa aplicação estava rodando em uma servidor com SO em portugues. Até então estava tudo normal. Portanto mudei de servidor, e agora o Server tem o SO em ingles. Ai vem o problema. Todas as telas que tem campo data como entrada exemplo Data Nascimento, em um formulário, esta invertendo a data na hora de mandar pro banco, e ai dá erro. Exemplo: 31/01/2012 ele inverte para: 01/31/2012.
Alguem sabe como eu resolvo isso?
Desde já muito obrigado.
Problemas com Datas SO em Inglês
7 Respostas
G
qual classe vc está utilizando para trabalhar com datas?
Não estou usando nenhuma classe não pois, nesses lugares que começou a dar problemas são campos de alguns formularios de entrada. Onde eu digito a data e a aplicação manda pro Banco. Lembrando que essa aplicação usa Struts 2.
Beam que o formulário representa:
public class Usuario{
private Long id;
private String nome;
private Date dataNascimento // Ocorre o erro aqui;
....
.....
}
G
esse Date é de qual pacote, sql? creio que o caminho seria olhar na documentação da classe para ver como converter a data para PT.
É do pacote java.util
W
Nao eh mais facil guardar timestamp ou inves de date???
Voce vai ter muita dor de cabeca para ficar convertendo datas em diferentes culturas.
Ai vc nao precisa se preocupar como o dado vai ser armazenado, soh a apresentacao pro usuario.
//Daniel
G
amigo esse artigo tem o que vc procura http://www.botecodigital.info/java/manipulando-datas-em-java/
repare nesse trecho:
Locale brasil = new Locale("pt","br");//portugues do brasil
Date hoje = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("E dd ",new Locale("pt","br"));
System.out.println( sdf.format(hoje));
W
Para armazenar no banco.
Date date = new Date();
java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());
Depois eh soh converter para Date e usar DateFormat para exibir a data como vc quiser.
//Daniel
Criado 31 de janeiro de 2012
Ultima resposta 31 de jan. de 2012
Respostas 7
Participantes 3