所有其他的变异器在JDK 1.1中都已过时,那么为什么setTime()
保持不变呢?毫无疑问,java.util.Calendar
- 操作日期的正确方式 - 可以使用java.util.Date(long)
构造函数根据需要创建java.util.Date
实例。
所有其他的变异器在JDK 1.1中都已过时,那么为什么setTime()
保持不变呢?毫无疑问,java.util.Calendar
- 操作日期的正确方式 - 可以使用java.util.Date(long)
构造函数根据需要创建java.util.Date
实例。
Date
类中被弃用的部分是与日历相关的部分(例如,日、月、年等)。需要注意的是,日历字段的访问器方法也被弃用了,而不仅仅是修改器。
然而,Date
以毫秒值表示的方式仍然有效,与日历表示无关,因此仍未被弃用。
java.util.Date
作为日历使用,而不是作为自1970年1月1日UTC时间12:00以来的毫秒数的一个瞬间。因此,那一个变异体不被弃用是有道理的。Date
/Calendar
API仍然很糟糕,您应该尽可能使用Joda Time - 但我可以理解为什么那个调用没有被弃用。事实上,您无法在事后使类型不可变,这也不是弃用的重点 - 弃用的重点是试图阻止人们将其用作“1976年6月19日”等存储的方式。
java.sql
日期类时,可以将它们的使用限制在局部变量中,这样至少可以将它们的糟糕程度限制在一小段私有代码中。 - skaffman