Problemas com o hor�rio de ver�o.

A dica de hoje foi enviada pelo Ben�cio Silva Gontijo, Mestrando em Ci�ncia da Computa��o pela UFMG, e mostra como resolver um problema referente ao hor�rio de ver�o.
Ben�cio, em nome da comunidade Java agrade�o a sua contribui��o!

=======================================================================
Estou lhe escrevendo para dar uma dica que talvez possa ser interessante. Eu me deparei com problema que a princ�pio parecia ser trivial, mas quando eu fui ver era um pouco mais complicado.

O problema foi que para o produto desenvolvido na firma onde trabalho [Synergia - DCC - UFMG ] escrevi um arquivo de log onde a hora de cada a��o tem que ser registrada. Entrando ap�s o dia 06/10 foi notado que mesmo estando a hora da m�quina correta no log sempre aparecia uma hora a mais, ou seja, era como se estiv�ssemos no hor�rio de ver�o.

Pesquisando no site da Sun verificamos esse problema j� era conhecido
(http://forum.java.sun.com/thread.jsp?forum=31&thread=248764) e que para
solucion�-lo t�nhamos que utilizar a classe SimpleTimeZone onde temos a
oportunidade de criar uma "TIME ZONE" e configur�-la para o hor�rio de ver�o da maneira desejada.

A seguir segue um exemplo simples de como lidar com esse problema.

import java.util.*

public class TesteHorarioVerao
{
public static void main(String[] args){
// Cria uma TIME ZONE correspondente ao hor�rio de Bras�lia
SimpleTimeZone pdt = new
SimpleTimeZone(-3 * 60 * 60 * 1000,"GMT-3:00");

// Seta as regras para o hor�rio de ver�o Brasileiro
// Come�ando no primeiro domingo ap�s o dia primeiro
pdt.setStartRule(Calendar.NOVEMBER, 1, Calendar.SUNDAY,0);

// Terminando no �ltimo domingo do m�s de Fevereiro
pdt.setEndRule(Calendar.FEBRUARY, -1, Calendar.SUNDAY,0);

// Instanciando um GregorianCalendar com com a time zone de BSB
// e levando em considera��o as regras do hor�rio de ver�o.
Calendar dataHoje = new GregorianCalendar(pdt);

System.out.println(dataHoje.get(Calendar.HOUR_OF_DAY) + ":" +
dataHoje.get(Calendar.MINUTE) + ":" +
dataHoje.get(Calendar.SECOND);
}
}

Al�m dos m�todos mostrados existem outros m�todos interessantes.

Ben�cio Silva Gontijo
Equipe de Implementa��o - Sala 3015
Synergia - DCC - UFMG

Mestrando em Ci�ncia da Computa��o
Departamento de Ci�ncia da Computa��o
Universidade Federal de Minas Gerais




================================================================================
[dicas-list] circula diariamente com pequenas dicas sobre a plataforma Java e �
mais um servi�o da Sociedade de Usu�rios Java - http://www.soujava.org.br
*** SouJava - Fortalecendo a Comunidade Java Brasileira! ***
- Para contribuir com uma dica, envie um e-mail para [EMAIL PROTECTED]
- Participe de outras listas de discuss�o sobre a linguagem Java.
Saiba mais em http://www.soujava.org.br/lista.htm
--------------------------------------------------------------------------------
- Para assinar este boletim: mailto:dicas-list-subscribe@;soujava.org.br
- Para cancelar sua assinatura: mailto:dicas-list-unsubscribe@;soujava.org.br
- Dicas anteriores: http://www.mail-archive.com/dicas-list%40soujava.org.br
- Para discutir sobre as dicas, acesse o Mundo OO (http://www.mundooo.com.br)


Responder a