似乎新的java.time
API提供了java.util.Date
以及更多内容的所有内容
自Java 8以来,当有更新的java.util.Date
API时,有没有理由使用java.time
?
是否应该完全避免java.util.Date
和java.util.Calendar
?
答案 0 :(得分:7)
简答:新API java.time
比java.util.Date
和java.util.Calendar
的旧世界更好。所以,是的,在新代码中应首选新API。
快速浏览:为各种日期时间库编写comparison of features in table form后。几乎没有java.time
缺少但在旧世界中存在的特征:
FieldPosition
打印(用于Swing-component FormattedTextField
) 关于弃用:虽然自Java 1.1以来不推荐使用java.util.Date
的大部分内容,但类本身(以及java.util.Calendar
)也未正式弃用,只是声明为de事实上的遗产。对于向后兼容遗留代码的目标,旧类的支持仍然很重要。因此Oracle可能不会在将来的任何时候停止支持。但也许Oracle会应用更多sophisticated deprecation strategies。
未来发展:有趣的是,Java-8的发布不仅包含了全新的日期/时间API(java.time
),而且还看到了{java.util.Calendar
的一些增强功能。 {1}},例如Calendar.Builder或SHORT_STANDALONE等。我只能推测,但这似乎也表明Oracle不愿意在不久的将来停止旧API的支持。