Java 我应该使用什么来代替不推荐使用的Date.getHours()

Java 我应该使用什么来代替不推荐使用的Date.getHours(),java,datetime,deprecated,Java,Datetime,Deprecated,如果一个方法在Java中被弃用,那么会有另一个更好的方法来实现相同的功能,对吗 Date date = new Date(); date.getHours() 由于不推荐使用getHours() Calendar cal = Calendar.getInstance(); cal.get(Calendar.HOUR); 如果你想约会的话 Date date = cal.getTime(); 是处理日期和时间的另一个最佳选择。您应该使用日历或Joda时间库 但是,如果您只能使用Date,则

如果一个方法在Java中被弃用,那么会有另一个更好的方法来实现相同的功能,对吗

Date date = new Date();
date.getHours()
由于不推荐使用
getHours()

Calendar cal = Calendar.getInstance();
cal.get(Calendar.HOUR);
如果你想约会的话

Date date = cal.getTime();


是处理日期和时间的另一个最佳选择。

您应该使用日历或Joda时间库


但是,如果您只能使用Date,则这是您唯一的方法。注意,这不会针对时区进行调整。

一般来说,是的。如果API被弃用,则相应的JavaDoc几乎总是推荐新的首选API

例如:

另见:


这些方法确实不受欢迎

现在应该使用java.util.Calendar#get()

所以你的例子变成了

Calendar cal = Calendar.getInstance();
cal.get(Calendar.HOUR);


请注意,您可以通过在cal上调用getTime来获取日期对象。

javadoc怎么说?我不知道为什么有人在一篇六年前的帖子周围进行巫术,只是为了把它记下来。。。但也许他们对甲骨文改变链接感到恼火。也许是因为多年之后,Java8引入了新的(更好的!)日期API,所以他们很恼火。无论如何,我已经更新了我的帖子。
This method is deprecated and should not be used because SQL Date values do not have a time component. 
Calendar cal = Calendar.getInstance();
cal.get(Calendar.HOUR);