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

前端之家收集整理的这篇文章主要介绍了java – 为什么不推荐使用Date.getTimezoneOffset?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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,没有看到任何使用外部库的理由:好的旧日历对我来说是足够好的.

猜你在找的Java相关文章