Date.getTimezoneOffset的文档说:
Deprecated. As of JDK version 1.1,replaced by
-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000).
为什么不弃用?是否有更短的方式(Apache Commons?)以小时/分钟获得UTC的偏移量?我有一个Date对象…我应该把它转换为JodaDate吗?
在你问为什么我想要UTC偏移之前 – 它只是记录它,没有更多.
解决方法
这里有两个问题.
>为什么不推荐使用Date.getTimezoneOffset?
我认为这是因为他们实际上已经弃用了几乎所有的Date方法,并将它们的逻辑转移到日历.我们期望使用通用集和get与指定我们需要哪个特定字段的参数.这种方法有一些优点:方法数量少,并且能够在循环中运行setter,每次循环传递不同的字段.我个人使用这种技术很多:它使代码更短,更容易维护.
>快捷方式?但是打电话怎么了?
Calendar.get(Calendar.DST_OFFSET)比较
Calendar.getTimeZoneOffset()
据我所见,差距是6个字.
Joda是一个非常强大的库,如果你真的要写很多复杂的日期操作代码切换到它.我个人使用标准的java.util.Calendar,没有看到任何使用外部库的理由:好的旧日历对我来说是足够好的.