Pessoal estou fazendo uma consulta no banco e esta consulta me retorna uma data no formato: “Sep 2 2011”. Bem como poço fazer para converter esta data para 02/09/2011, pois tenho que apresentar em um JSP. No caso o tratamente da data estou fazendo no proprio servlet.
[quote=luiz_renato]Não sei se é o mais apropriado (ou POG) dos jeitos mas …
Sua String não tem uma virgula depois do dia (não sei se é o correto nem como vc obtem ela) mas se vc colocar ficando assim
"Sep 2, 2011"
Cara não tem, mas acredito que da para colocar sim, vem da consulta que o BDA fez assim, vou ver isto.
Mas obrigado pela força.
gabbardo
Se o sistema te retorna um objeto DATE ai tu tem q usar o metodo “format” do SimpleDateFormat. Parse só se teu sistema retorna uma string.
Se for o 2º caso, retorna uma string, ai tem q usar o parse para transformar em um objeto DATE, mas tua mascara tem q ser igual a essa string q tu quer transformar em DATE.
Só q não entendo uma coisa. Se teu sistema retorna uma string em vez de um date, quem está salvando essa string em formato errado deveria fazer a mascara correta, creio eu.
Verifica isso ai, mas se tu está pegando esse campo da tabela, acho q lá deve estar configurado como DATE, ai tu temq usar o format com a mascara “dd/MM/yyyy”.
luiz_renato
Bem observado.
Se o campo no banco de dados é Date vc não deveria receber uma String ou se o campo é String estão salvando no formato errado é bom dar uma olhada .
montovani
Pessoal obrigado pela atenção.
Cara recebo como String. Agora esta consulta foi feita pela DBA. Ele falou que para o caso esta era a forma que ele podia fazer para o banco usado(SQLServer). Eu solicitei que fizem com a mascara dd/MM/yyyy, mas ele falou que nao e possivel. Vai saber ne.
Mas valeu mesmo assim pela ajuda… estou tentando aqui mas não deu pe ate agora.
gabbardo
Não é possível? Mas q raio de DBA é essa? ehehehhe
Basta usar TO_CHAR no select q está sendo feito.
Exemplo:
SELECT TO_CHAR(COLUNA_DATA, 'DD/MM/YYYY') FROM TABELA;
Bom, tem como fazer e não querem facilitar a tua vida, pelo jeito.
O q posso sugerir é q tu faça um parse dessa string usando o formato da mascara de acordo com a data q veio.
Para saber a melhor maneira de montar a mascara para o parse, eu sugiro q tu pesquise a API do SimpleDateFormat (http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html).
Com isso o parse vai retornar um date q tu vai poder fazer o formato que quiser, tb usando uma mascara especifica e o metodo format.
Mas fala com esse teu “DBA” e sugere ele a usar o TO_CHAR na coluna de data na hora do SELECT.
montovani
Rs… obrigado pelas dicas do Parse. Qto ao TO_CHAR, não sou nenhum DBA, mas falei isto para ele, mas o cara realmente não ta é querendo mexer. Não vou discultir vou resolver aqui e pronto, passo para o gerente o que tive que fazer e como seria melhor fazer e ele se entendi com este cara.
Mas valeu vou verificar melhor a API.
luiz_renato
Se o “cara do banco” não está muito a fim de ajudar, pega a String q ele está mandando mesmo :