【问题标题】:Date operations in Java?Java中的日期操作?
【发布时间】:2011-07-26 11:24:51
【问题描述】:

我想获取Date 对象的年/月/日值,但docsgetYear() 等方法已被弃用。它建议改用Calendar,但我想知道是否可以改用已弃用的方法?这只是一个用Processing 编写的玩具程序,但我将对几个对象进行相当多的日期操作,因此速度可能是一个问题。

【问题讨论】:

  • 在玩具程序中,随心所欲。如果您想从您的“玩具”中学习,请将已弃用的方法抛在脑后
  • 按照这篇文章的建议使用java.util.Calendarstackoverflow.com/questions/2654025/…

标签: java date calendar processing


【解决方案1】:

在我看来,我建议您查看 Yoda Time,它是一个更好的库,可用于日期/时间任务。

http://joda-time.sourceforge.net/

【讨论】:

  • 如果您可以非常简单地使用核心 Java 实现所需的东西,我不建议您依赖第三方库。
【解决方案2】:

任何一个都可以。我会坚持使用Calendar 只是为了与Java 版本保持一致。应该避免使用过时的方法,因为它是一个好习惯。

如果有可行的替代方案,我会远离已弃用的东西,除非你有充分的理由这样做,例如速度。我怀疑从Date 切换到Calendar 会导致速度显着下降。不过,您可能需要对其进行基准测试以防万一。

【讨论】:

    【解决方案3】:

    如果 API 被弃用,它可能是 dangerous or buggy。如果存在建议的替代方案,您应该使用它们(并且不要习惯于忽略它们)。使用日历获取所需内容并不难。如果您有特殊的日历操作要做,您可以尝试 Charles Goodwin 提到的 Joda - 但对于您的用例,似乎不需要依赖第三方库。

    【讨论】:

      【解决方案4】:

      我不建议使用 Date 方法。我看不出任何优势。作为程序员,在DateCalendar 上调用该方法对您没有任何影响,不是吗?在 Date 实例上调用它根本没有任何好处。

      正如您所指出的,这些方法已被弃用。这意味着它们可以随时从 API 中删除,恕不另行通知。现实情况是,它只能在 JVM 升级时发生。只有当您切换到恰好删除了它们的 JVM 时,您的代码才会停止工作。

      所以你的代码突然停止工作的风险很小,但不是零。

      【讨论】:

        猜你喜欢
        • 2017-08-17
        • 2015-07-24
        • 1970-01-01
        • 1970-01-01
        • 2018-01-24
        • 1970-01-01
        • 2011-12-23
        • 2012-11-14
        • 1970-01-01
        相关资源
        最近更新 更多