为什么不推荐使用Date.getTimezoneOffset?

rip*_*234 9 java timezone date utc

Date.getTimezoneOffset的文档说:

已过时.从JDK 1.1版开始,替换为 - (Calendar.get(Calendar.ZONE_OFFSET)+ Calendar.get(Calendar.DST_OFFSET))/(60*1000).

为什么要弃用?是否有更短的方式(Apache Commons?)以小时/分钟的形式获得UTC的偏移量?我有一个Date对象...我应该将它转换为JodaDate吗?

在你问为什么我想要UTC偏移之前 - 它只是记录它,仅此而已.

Ale*_*exR 10

这里有2个问题.

  1. 为什么不推荐使用Date.getTimezoneOffset?

我认为这是因为他们实际上几乎都弃用了Date的所有方法,并将其逻辑移到了日历中.我们应该使用泛型setget参数来说明我们需要哪个特定字段.这种方法有一些优点:方法数量少,并且能够在每次循环通过不同字段的循环中运行setter.我个人经常使用这种技术:它使代码更短,更容易维护.

  1. 捷径?但是电话有什么问题

Calendar.get(Calendar.DST_OFFSET) 比较 Calendar.getTimeZoneOffset()

据我所知,差异是6个字符.

Joda是一个非常强大的库,如果你真的需要编写很多复杂的日期操作代码切换到它.我个人使用标准java.util.Calendar,没有任何理由使用外部库:好的旧日历对我来说已经足够了.