Olá pessoal, sei que o problema de Horário de Verão em Java é bastante conhecido e inclusive encontrei algumas coisas na internet mas não consegui solucionar meu problema…
Minha aplicação pega dados (inclusive datas com hora, minuto e segundo) de arquivos e os coloca no banco de dados. Eu tou tendo problemas quando utilizo estas datas porque quando crio o objeto Date, quando elas se encontram entre o periodo de horário de verão, são adiantadas em uma hora.
Já fiz de tudo pra que esse horário de verão não seja setado e a uns meses até achei que tinha encontradoa solução, mas não. Anteriormente eu tinha usado a seguinte “solução”:
public static void formatSummerTime() {
/* Formata o horário de verão para iniciar e terminar no mesmo dia
* (01 de Janeiro às 1:00)
*/
TimeZone.setDefault(
new SimpleTimeZone(
TimeZone.getDefault().getRawOffset(),
"America/Recife",
Calendar.JANUARY,
01,
0,
3600000 * 1 + 60000 * 0, // 00h00
Calendar.JANUARY,
01,
0,
3600000 * 2 + 60000 * 0, // 01h00
3600000));
}
Porém não dá certo, no meu caso, defino uma certa data para 01/01/2006 - 23:59:59 e a data automaticamente vai para 01/01/2006 - 22:59:59. Já tentei utilizar TimeZone.setDefault(TimeZone.getTimeZone(“GMT-3:00”)); e acontece o mesmo.
Vi que existe uma ferramente (não sei bem se o é) chamada Javazic, ela faz isso pra mim? E sobre a Timezone Updater Tool
Outra coisa, não seria simples pra linguagem simplesmente ter um setDayLight(null), quando o usuário de Java quisesse setar o horário pra que não existisse? Existe uma maneira fácil de eu fazer isso?
Aguardo =)
[]'s
