Calendar.getInstance(TimeZone.getTimeZone("GMT+1")).get(Calendar.HOUR_OF_DAY)
是一个小时“慢”,(可能是因为他们没有检测到夏令时+1小时。)在J2SE中,有很多可用的时区(欧洲/布达佩斯也是如此)完美),但在J2ME中只有GTM和UTC
我怎样才能得到“正确”的时间?
答案 0 :(得分:3)
您已经要求“GMT + 1”这是一个固定的时区 - 不应用夏令时。如果您需要应用夏令时并且J2ME不提供任何DST时区,那么您将不得不自己制定该逻辑:(
(换句话说,它听起来像J2ME表现正常,但它不支持你想要它的功能。)
答案 1 :(得分:1)
我刚才有一个完全不同的应用程序这个问题 - 它是一个移动应用程序,但它结果是我的思维方式的问题,而不是程序性问题......我想知道这是不是你有同样的问题。
目前英格兰正处于英国夏令时,因此人们通常认为格林威治标准时间是目前在英格兰的时间......这并不总是GMT。 BST是GMT + 1,它(取决于您的位置以及您是否使用夏令时)可能会导致问题。如果GMT落后一天,这也会影响日期。
例如,我目前在多伦多,目前是GMT-4,但比伦敦落后5小时,这让我感到非常困惑。我认为增加混乱的原因是我来自英国所以我自动将时间视为GMT-5并非总是如此。伦敦时间目前是GMT + 1,我们是伦敦-5,实际上是GMT-4。
答案 2 :(得分:1)
我在手机上试过了TimeZone.getDefault()
并且它有效:)(但在模拟器上,小时“慢了”2小时:S)