在欧洲/莫斯科时区前方 1 小时的错误时间

2022-09-03 13:51:58

对于我们的俄罗斯租户,我们使用“欧洲/莫斯科”时区。但是,我们比正确的时间提前1小时获得时间。

欧洲/莫斯科是UTC + 3小时。但是,当我打印日期格式为欧洲/莫斯科时区时,比正确的时间早了1个小时。

谢谢,萨马拉。


答案 1

我注意到2014年10月俄罗斯时区定义的立法发生了变化;很可能你的JRE还不知道它。

Java时区更新程序实用程序应该能够为您解决此问题。随着时间的流逝,更新的时区定义最终也应该默认包含在较新的JRE中(尽管现在诚然,这对您没有帮助)。


答案 2

Java 8:

 System.out.println(LocalDateTime.now(ZoneId.of("Europe/Moscow"))
            .format(DateTimeFormatter.ofPattern("d.MM.yyyy 'um' HH:mm 'Uhr'")));

推荐