| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/01/2009 10:25:02
|
fgsl
Entusiasta Java
![[Avatar]](/images/avatar/4ba9c4cbc9d4bc70794e3ba598e0ece6.jpg)
Membro desde: 10/09/2008 09:12:55
Mensagens: 23
Localização: *
Offline
|
O método a seguir está retornando a hora como texto com um decremento de 1, em relação a hora configurado no objeto Date passado como parâmetro. Por exemplo, se a hora em date é 6, na string vira 5, se é 12 vira 11.
Não entendi porque isso ocorre, mesmo após ver o fonte do método format.
Estou usando:
E a string do formato de hora é "HH:mm:ss"
|
Flávio Gomes da Silva Lisboa
Analista de Desenvolvimento de Sistemas |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/01/2009 10:31:24
|
robinsonbsilva
GUJ Ranger
![[Avatar]](/images/avatar/989652eef28bc49eec908063ba36a854.jpg)
Membro desde: 27/10/2004 12:01:50
Mensagens: 761
Offline
|
http://www.arquivodecodigos.net/sistema/main/visualizar_dica/2432
|
Sun Certified Java Programmer Standard Edition 6.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/01/2009 11:55:32
|
fgsl
Entusiasta Java
![[Avatar]](/images/avatar/4ba9c4cbc9d4bc70794e3ba598e0ece6.jpg)
Membro desde: 10/09/2008 09:12:55
Mensagens: 23
Localização: *
Offline
|
O problema não é com a Classe Date, mas com o parsing de SimpleDateTime para gerar o Date.
Agora percebi que eu inverti a situação no texto, na verdade a hora retornada é o incremento de 1 da original.
Assim, a string de hora 05:59:24 se transforma no objeto Date 06:59:24. E se eu usar 00:15:45 vou ter 01:15:45.
Isso não faz sentido, porque já estou determinando o valor da hora. Não é como o argumento do mês que é de 0 a 11.
Senão vou ter que passar -01:30:21 pra ter 00:28:12.
Esse é o problema.
|
Flávio Gomes da Silva Lisboa
Analista de Desenvolvimento de Sistemas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/01/2009 11:59:17
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Que timezone é esse ("BRA")?
Os timezones para o Brasil são:
"Brazil/Acre"
"Brazil/DeNoronha"
"Brazil/East"
"Brazil/West"
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/01/2009 12:13:49
|
fgsl
Entusiasta Java
![[Avatar]](/images/avatar/4ba9c4cbc9d4bc70794e3ba598e0ece6.jpg)
Membro desde: 10/09/2008 09:12:55
Mensagens: 23
Localização: *
Offline
|
O criador do código havia colocado BET.
Fui pesquisar BET neste endereço:
http://www.worldtimezone.com/wtz-names/
E vi que era Bering Standard Time (UTC-11)
Procurei no mesmo local timezone para o Brasil e encontrei BRA.
Fiz a alteração para "Brazil/East" e rodei novamente o teste, mas continua do mesmo jeito.
Ah, obrigado pela lista de timezones.
|
Flávio Gomes da Silva Lisboa
Analista de Desenvolvimento de Sistemas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/01/2009 12:28:34
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Se você está em um lugar onde o horário de verão está em vigor (São Paulo, RJ, BSB etc.), então o timezone corrente não é GMT-3 e sim "Brazil/East". Mas deve haver mais algum problema em algum ajuste no seu sistema.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/01/2009 12:41:53
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Ah, e seu código sempre está criando um timezone, em vez de usar um que já existe. Você deveria usar algo como:
|
|
|
 |
|
|