Date类的很多方法被废弃,归根结底是有缺陷、有问题,已经被新的、更完善的类、方法替代了。
Date类中有很多方法都标有删除线,是因为Date类在设计中有很多问题,如getYear指的是1900年以来的年数,getMonth是从0开始的。事实上,不止Date类,Java的日期时间相关类都存在设计问题。Java的日期类库有些混乱,据说已经重新设计了两次。
Date类已经逐渐被Calendar类所取代。
- int getDate() 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。
- int getDay() 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。
- int getHours() 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。
- int getMinutes() 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.MINUTE) 取代。
- int getMonth() 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.MONTH) 取代。
- int getSeconds() 已过时。从 JDK 1.1 开始,由 Calendar.get(Calendar.SECOND) 取代。
1 | public class Time { |