gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:10 25 4
gpt4 key购买 nike

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 偏移量之前 - 它只是为了记录它,仅此而已。

最佳答案

这里有2个问题。

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

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

  1. 捷径?但是调用有什么问题

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

据我所知,区别是 6 个字符。

Joda 是一个非常强大的库,如果您真的必须编写大量复杂的日期操作代码,请切换到它。我个人使用标准的 java.util.Calendar 并且看不出有任何理由使用外部库:好的旧日历对我来说已经足够了。

关于java - 为什么不推荐使用 Date.getTimezoneOffset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10486064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com