【问题标题】:If Date is mostly deprecated and we're to use Calendar, what is the equivalent of DateFormat class?如果 Date 大部分被弃用并且我们要使用 Calendar,那么 DateFormat 类的等价物是什么?
【发布时间】:2013-01-18 01:10:01
【问题描述】:

我是这个 Java 的新手,如果 Date (大部分?)被弃用,我有点不清楚如何编写自己的 DateFormat 子类。

  1. 我应该使用日期还是日历?
  2. 如果全面使用日历,则用什么类代替 DateFormat?

【问题讨论】:

  • DateFormat 没有被弃用,只是Date
  • 我建议你不要改变Dates。如果您需要强制执行,您可以围绕 Date 构建一个包装器。对于一些会矫枉过正的项目。
  • 理想情况下,您应该使用 JODA 时间而不是 JDK 中内置的任何东西。

标签: java date date-format


【解决方案1】:

首先java.text.DateFormat class不推荐使用,您使用java.util.Date 类作为 使用java.text.DateFormat 类格式化java.util.Calendar 对象。

java.text.DateFormat---> use this class to format dates.
java.util.Calendar  ---> use this class to perform date related operations.

【讨论】:

  • 谢谢。那我用什么来存储日期呢?不可变的日期。只是约会?
  • 嗯,不是真的,java.util.Date 的实例实际上代表了一个可变的日期和时间。
  • 好吧,我不会浪费几毫秒,尤其是在我需要大量格式化的情况下。所以我想我坚持下去了?
  • Well I'm not going to pass around milliseconds 我确实明白你的意思,但正如我所说,你通常使用 dateformat 将 java.util.Date 格式化为某种格式。
  • 我的意思是,如果 DateFormat 接受 Date,并且我必须大量格式化日期,那么我必须使用 Date 类,尽管它是可变的。
【解决方案2】:
  1. Date 表示特定的毫秒时间。换句话说,Date 是一个长毫秒值的包装器。 Calendar 用于获取Date 的具体星期几、月份等。

  2. 使用DateFormat。您可以使用CalendargetDate 方法将Date 对象传递给DateFormat

此外,您可能会发现 Joda 时间很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 2021-06-19
    • 2015-12-09
    • 2017-12-14
    • 2014-05-08
    相关资源
    最近更新 更多