时区是否包含 DST 信息?
我正在开发一个应用程序,我需要维护不同位置的时间。我在 Java 中使用 Date、Timezone 类。我的问题是 - Timezone 类是否知道有关夏令时的详细信息?就像如果时区经过某个时区,考虑到夏令时,它是否返回正确的时间?
编辑:
跟进 - 为什么 inDaylightTime() 实现为抽象,并且只能与指定开始/结束夏令时的 SimpleTimeZone 一起使用?
I'm working on an application where I need to maintain times from different location. I'm using Date, Timezone classes in Java. My question is - does the Timezone class know details about the Daylight Savings Time? Like if the Timezone is passed some time zone, does it return the correct time considering DST?
EDIT:
Follow up - Why is inDaylightTime() implemented as abstract and can only be used with SimpleTimeZone where you specify the start/end daylight times?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,JVM 的日期类可以识别时区。
时区的 DST 信息由政府定期更新,如果您的应用程序执行跨时区计算,则 JVM 需要相应更新。当这种情况发生变化时,Oracle 会发布 JVM 更新。请参阅 Java 运行时环境 (JRE) 的时区、夏令时和 Sun TZupdater )
根据我的经验,处理这个问题的核心 Java 类非常难以使用。我从 Joda Time 获得了更好的结果。 (Joda-Time 还尊重底层时区信息)。
Yes, the JVM's date classes are timezone aware.
The DST information for TimeZones is regularly updated by governments and the JVM needs to be updated accordingly if your application performs cross-timezone calculations. Oracle release updates for JVMs when this changes. See Timezones, Daylight Savings, and the Sun TZupdater for the Java Runtime Environment (JRE)
In my experience the core Java classes for dealing with this problem are very difficult to use. I get better results from Joda Time. (Joda-Time also honours the underlying timezone information).
时区支持 DST。
但不确定你想要实现什么目标。 Timezone.getDSTavings() 可能是您所需要的
Timezone is DST aware.
Not sure what you're trying to achieve though. Timezone.getDSTSavings() might be what you need