2009-04-16 59 views
1

Calendar.getInstance(TimeZone.getTimeZone("GMT+1")).get(Calendar.HOUR_OF_DAY)是一小時「慢」,(可能是因爲他們沒有檢測到夏令1小時)。在J2SE,有很多可用時區(歐洲/布達佩斯也是如此,它完美地工作),但在J2ME中只有GTM和UTC。
如何獲得「正確」的小時?(日曆)天小時不返回正確的小時

回答

1

我試着TimeZone.getDefault()我的手機上,它的工作:)(但在模擬器上小時內2小時「慢」:S)

3

您要求提供「GMT + 1」,這是一個固定時區 - 不應用夏令時。如果您需要應用夏令時並且J2ME不提供任何DST時區,那麼您將必須自己制定出這種邏輯:(

(換句話說,聽起來J2ME的行爲是正確的,但是它不支持你希望它的功能)

+0

是不是* *所有時間段固定的嗎?我們只是在夏季更換時區,我們不會在這些時區內移動時間...... – BenAlabaster 2009-04-16 16:17:59

1

我只是有這個問題,一個完全不同的應用程序 - 這是一個移動應用程序,但它竟然是一個模式問題,我的思維方式,而不是一個綱領性problemn在所有...我不知道這是否是您遇到了同樣的問題。

目前英格蘭是英國夏令時間,所以人們通常認爲GMT是它是目前在英國的時候......這並不總是格林威治時間。 BST是格林威治標準時間+ 1,這取決於您的位置以及您是否使用夏令時可能會導致問題。如果GMT落後一天,這也會影響日期。

舉例來說,我目前在多倫多,這是目前GMT-4,但背後是倫敦5小時這引起了我的困惑很多。我認爲令人困惑的是我從英國所以我自動想到的時間格林威治標準時間-5,這並不總是如此。倫敦時間目前是GMT + 1,我們是倫敦-5,實際上是GMT-4。