Pattern Data (Formatação condicional, apenas se houver valor != 0)
3 respostas
Lavieri
Preciso fazer uma formatação condicional, de preferencia, e se possivel, com pattern, alem disso gostaria de colocar texto na saida… não to seguindo fazer, seria algo assim
“10h e 30m”
ou, no caso de os minutos serem zero…
“10h”
Ps.: estou usando para web, com a taglib fmt por exemplo: Horário: das <fmt:formatDate value="${evento.horaInicial}" pattern=“H’h e ‘m’m’” />
gera a saida 22h e 0m
queria q ficasse 22h … so era pra aparecer o e XX m caso houvesse minutos
Se é para escrever por extenso, prefiro “10 horas” ou “10 horas e 30 minutos” ou pior ainda, “10 dias, 10 horas e 1 minuto” (veja a diferença do singular com o plural).
Se seu formato de datas é esquisito, você precisa criar uma classe Java para formatar exatamente do jeito que você quer, ou então uma expressão EL (que é um porre porque terá de ser repetida inúmeras vezes na sua página). Acho que dá menos problema ter uma classe de formatação.
De qualquer maneira, você teria de ler o javadoc de SimpleDateFormat. Pelo que vejo, ele não tem essa formatação condicional. ChoiceFormat ( http://java.sun.com/javase/6/docs/api/java/text/ChoiceFormat.html ) tem formatação condicional, mas é dificil de usar no seu caso em particular (em que a condição é “minutos == 0”, não um intervalo, como é o caso de ChoiceFormat.