Você precisa mudar o retorno de sua classe para String porque o metodo formatter.format(value) retorna uma String.
abçs
aquilante
pois é cara, mas o pro é q eu n posso retornar uma string. O método setDataHoraTransmissao recebe uma data como parâmetro. Da forma que eu to fazendo, n da erro, so que n exibe na máscara q eu quero.
qdo eu faço:
voce nao consegue mudar o parametro do metodo setDataHoraTransmissao para String?
o problema de você usar o tipo Date é que seu formato é “Sat Feb 02 08:58:02 GMT-03:00 2008”.
aquilante
Seria um retrabalho grande, pois esse método está em uso em outras aplicações. E na verdade ele é uma data mesmo, acredito ta certo. Será q n tem uma alternativa menos drástica?
Vlwss!
P
paulojoinha
Porque voce precisa da data no formato “yyyy-MM-dd HH:mm:ss” é para gravar no banco. Se for apenas para isso você pode deixar seu codigo como está e somente na hora em que for inserir no banco voce usa o metodo format(valor) no seu objeto Date. Isto simplificaria para você não precisar alterar o método todo.
Caso não seja isso, você ja ouviu falar de Polimorfismo? Na linguagem java você pode ter metodos com o mesmo nome mas com escopo difirente.
Eu ja tentei sobreescrever o métoso, mas n deu certo tb.
Na camada de visão, usando display tag tem como eu formatar essa máscara?
vlwss! :lol:
alexlima72
Colega,
Pesquise aqui no Guj mesmo sobre FormatDateCalendar ou GregorianCalendar que vc vai encontrar muitos tópicos…
Tem muito material legal sobre as particularidade de Datas inclusive para buscar direto dos Bancos de Dados etc…
Valeu espero ter ajudado
baudamix
Se for só para esse projeto e vc tiver a liberdade de criar classes faz uma ""composição+""decorator.
- Cria uma classe que ira decorar essa sua classe principal ex.: sua classe q formata data.
- Nessa classe decoradora vc ira passar usa classe principal através do construtor da classe decorador e escreve o método da classe principal na classe decoradora.
//O eclipse e o netBeans fazem isso automático
- O método parseDate vc muda o retorno para string e usa nessa tela que vc precisa...
o exemplo explica melhor
ex.:
ClassClasseFormata(){publicstaticStringparseDate(Stringpattern,Stringvalue)throwsParseException{SimpleDateFormatformatter=newSimpleDateFormat(pattern,newLocale("pt","BR"));java.util.Datedata=formatter.parse(value);Stringdata_formatada=formatter.format(data);returndata_formatada;}publicvoidoutroMetodo(){// qualquer coisa}// os outros metodos...}// classe decoradaClassclasseFormataDecorada(){privateClasseFormataclasseFormata;classeFormataDecorada(ClasseFormataclasseFormata){this.classeFormata=classeFormata;}publicstaticStringparseDate(Stringpattern,Stringvalue)throwsParseException{returnformatter.format(classeFormata.parseDate(Stringpattern,Stringvalue));}publicvoidoutroMetodo(){classeFormata.outroMetodo()}//Metodos da ClasseFormata}
assim vc tem os msm métodos da classe principal com isso vc fez uma composição em vez de herança e decorou seu metodo para retornar o valor formatado para sua view....
Os padrões originais são esse aki. decorator composite
O meu exemplo é uma variação dos 2DP
espero pode ter te ajudado...
qlqr coisa é só chamar