Horário de Verão

2 respostas
anderson_lr

Pessoal,

Estou tentando configurar o horário de verão de minha aplicação mas estou tendo problemas ao settar o timezone.
SimpleTimeZone stz = new SimpleTimeZone(-3 * 60 * 60 * 1000, "GMT-3:00");
stz.setStartRule(Calendar.OCTOBER, 21, Calendar.SUNDAY, 0);
stz.setEndRule(Calendar.FEBRUARY, 17, Calendar.SUNDAY, 0);
TimeZone.setDefault(stz);

Minha aplicação é web e adicionei esse código em um StereotypeHandler do vraptor que é um @ApplicationScoped. Ele é carregado no início da aplicação pra setar o timezone, mas me lança a seguinte exception:

java.lang.IllegalArgumentException: Illegal start day of week in month 21
at java.util.SimpleTimeZone.decodeStartRule(SimpleTimeZone.java:1383)
at java.util.SimpleTimeZone.setStartRule(SimpleTimeZone.java:375)

Alguém poderia dar uma força?

2 Respostas

lucasportela

stz.setStartRule(Calendar.OCTOBER, [b]21[/b], Calendar.SUNDAY, 0);

O erro é porque tem que ser o dia da semana e não o dia do mês.

// Primeiro domingo de outubro stz.setStartRule(Calendar.OCTOBER, [b]1[/b], Calendar.SUNDAY, 0); // Segundo domingo de outubro stz.setStartRule(Calendar.OCTOBER, [b]2[/b], Calendar.SUNDAY, 0);

Entendeu?

anderson_lr

Blz. Parou o erro, mas geralmente é assim mesmo que se trabalho com horário de verão com Calendar?

Criado 23 de outubro de 2012
Ultima resposta 23 de out. de 2012
Respostas 2
Participantes 2