Estou com um problema e não achei uma maneira clara e eficiente de resolver...
Tem uma aplicação feita em jsf 2.0 que se conecta a múltiplos servidores mysql, até ao tudo bem, porém os servidores estão com timezone gmt+0, e na minha app preciso formatar a data de acordo com o timezone do usuário (pois terá usuários de vários países)... então de acordo com o esse timezone ele teria que adicionar ou diminuir algumas horas...
Como posso fazer isso?
É possível com um <f:convertDateTime ?
Você vai precisar que o usuário diga o timezone dele no cadastro,a partir dai voce pode utilizar as funções de timezone com base no que o usuário passou
por ex:
SimpleDateFormat isoFormat = new SimpleDateFormat("dd/MM/yyyy' 'HH:mm:ss");
isoFormat.setTimeZone(TimeZone.getTimeZone(User.getTimeZone()));
Date date = isoFormat.parse("23/12/2012 09:01:02");
Olá fabiozanardi,
O timezone eu já consegui identificar… mas o <f:convertDateTime não retorna o resultado que espero. Agora decidi mudar de estratégia, irei tentar setar o timezone na aplicação que armazena os dados no mysql, assim o app jsf irá obter a data correta …
Por exemplo, um usuário com GMT-3 acessa a aplicação e faz uma alteração, no mysql irá constar uma data (no log) com 3 horas a mais… se o mesmo usuário ir na minha app ela irá mostrar a data que consta no mysql (servidor GMT+0) ou a data equivalente para o usuário GMT-3?
Desculpe não ter testado ainda mas é que fiz algumas alterações aqui…