Boa tarde pessoal, qual a maneira correta de corrigir a formatação da data para dd/MM/yyyy, sei que posso usar um tal de SimpleDateFormat mais estou com duvida de em que momento devo aplicar.
Estou usando no meu projeto Struts e achei q na tag de imput poderia existir alguma coisa mais pelo que eu vi não existe… ou não encontrei…
Amigo,
Você poder formatar a data tanto na aplicação ou no banco de dados.
Se optar pelo banco, use a data como String na aplicacao, e na insercao voce usa o format do banco.
[]´s
S
smorigo
na aplicação aonde eu poderia fazer isso ?
por acaso na tag do Struts nao tem como fazer ?!
T
thiagorani
O Struts só trabalha com String.
Voce poderia fazer um metodo em alguma biblioteca de funcoes da aplicacao que formataria essa String.
ex:
class Util{
public static Timestamp converterData(String data){
regra para converter a String em Timestamp
return Timestamp
}
}
E na insercao no banco (DAO) vc usaria: pstm.setTimestamp(1, Util.converterData(Data));
Mais ou menos isso.
[]´s
T
thingol
smorigo:
na aplicação aonde eu poderia fazer isso ?
por acaso na tag do Struts nao tem como fazer ?! :-(
Nas tags do Struts tem sim (normalmente é um atributo chamado “format”), veja a documentação. Nem todas as tags aceitam esse atributo “format”.
S
smorigo
mais sabe ele tá exibindo errado dai eu poderia fazer isso aonde no get ? do meu JavaBean ou isso não é uma boa pratica ?
S
smorigo
mais sabe ele tá exibindo errado dai eu poderia fazer isso aonde no get ? do meu JavaBean ou isso não é uma boa pratica ?
D
Diogenes
Pelo visto tem uma taglib do projeto Jakarta q faz isso…
esse codigo tb nao está correto… preciso fazer um cast… mais tb to achando uma solucao muito “gambiarra”…
T
thiagorani
Amigo, qual é realmente seu problema?
Formatar a data ao inserir na base?
Se for isso, trabalhe sempre com String até o momento da inserção, no DAO vc pode setar String e usar o format do banco de dado (no SQL) ou converter para Timestamp a String e setar um Timestamp?
Entendeu?
ou pstm.setString(1, “25/11/2004”) -> formatar na query SQL
ou pstm.setTimestamp(1, converte(“25/11/2004”))
Nenhum dessa opções são “Gambiarras”
[]´s
_
_fs
Diogenes:
Pô, se eh importante pra sua aplicação exibir a Data nesse formato, entao formata qdo for exibir ora…
Formate-a qdo precisar…
Soh isso!
Também faço desta maneira.
A
Anonymous
Olha só na minha base nao tem problema o formato q ela esteja, estou querendo é que no meu formulário a bendita data fique no formato dd/mm/yyyy e ela está aparecendo como “yyyy/mm/dd”…
Gostaria de saber em qual o momento eu devo converter pois só quero que apareca nesse formato…
P
pcalcado
Uma data, como auqleur outra abstração, deve ser mantida no formato normal (i.e. java.util.Date) aé o momento de ser exibida.
Assim como ‘21/02/1983 07:30h AM’ é uma representação em String de uma data e hora, um objeto Date também o é. Já vi gente cair na besteira de ficar tratando data como String ate´a hora que precisa calcular algo, não façam isso.
Existem objetos que são String por natureza, como um nome (até ele pode ser promovido á objeto, depende do caso), a idade geralmente é um inteiro… a data é uma data, um estado no tempo e não uma string. Deixe o computador representá-la da melhor forma que ele conseguir, quando precisar msotrar para o usuário aí sim você converte para algo que o usuário entenda.
[]s
S
smorigo
pessoal mais entao como eu posso fazer isso, eu nao tenho conhecimento ainda sobre isso entao estou viajando de qual maneira fazer
D
Diogenes
[TahDificil/]
Afinal, qual o problema cara…
Utilize SimpleDateFormat no seu formulário… e pronto…
Qual dificuldade vc tah vendo nisso?
T
thingol
Aqui tem aquela discussão filosófica - formatar na camada de apresentação ou no Bean que é apresentado pela camada de apresentação?
Meu chefe achava que para uniformizar a formatação deveríamos formatar no Bean, então tínhamos para o mesmo dado “dataExpiracao” , “getDataExpiracao()” (retornando um Date) e “getFmtDataExpiracao()” (retornando uma String) onde “fmtDataExpiracao” era a data de expiração, formatada de acordo com o padrão do site.
No Struts, no entanto, você pode especificar em alguns tags (< bean:write >), com o atributo “formatKey”, um “pattern” de formatação que pode ser lido de um arquivo .properties (assim como as mensagens) em vez de ter de ser especificado diretamente com o atributo “format”.
S
smorigo
Legal to conseguindo entender rs mais preciso de uma ajuda com o código… Como eu aplico a conversao no meu Bean ?