Data com Timezone

1 resposta
hitcurst

Olá, tenho este formato de Data aqui,

String dateFormat = "dd/MM/yyyyHH:mm:ssZ"

ontem existe o GMT definido pelo (Z).

Com o SimpleDateFormat estou tentando converter esta String abaixo
para um objeto java:

String data = "01/06/201100:00:00+00"

Ali eu passei GMT +00 ou seja, não quero nenhuma alteração
na minha data. O problema é que quando converto para um objeto date
ele automáticamente está aplicando um GMT -3 e a data está indo do dia 01
para dia 31 do mês 5. Isso não está errado sendo que eu especifiquei na minha data
que o GMT é +00 ?

Eu preciso guardar esta data no banco e depois devolver para o usuário,
o problema é que o sistema está sempre corrigindo o GMT para -3 horas
e esta data não pode ser alterada.

Qual seria o problema ? Vou ter que parsear o GMT e
corrigir o timezone na mão gravando-o em duas colunas
separadas do banco ?

1 Resposta

hitcurst

Bom, consegui resolver de uma forma ruim,
mas funcionou.

final String timeZone = "GMT" + valorCampo.substring(18);
calendar = new GregorianCalendar(TimeZone.getTimeZone(timeZone));

Coloquei GMT pois a data que recebo sempre é em GMT,
mas pode variar o horario, então vou eu pego só o valor
e seto o timezone correto na mão, já que ele não é capaz
de fazer isso.

Continuo aberto a novas soluções.

Valeu

Criado 16 de dezembro de 2011
Ultima resposta 16 de dez. de 2011
Respostas 1
Participantes 1