java.util.Date(int,int,int)已被弃用。

9

java.util.Date(int,int,int)构造函数已被弃用。在Java中是否有一种像这样设置日期的简单方法?有没有不弃用的方法来做到这一点?

Date date = new Date(2015, 3, 2);
4个回答

17

有没有一种不被弃用的方法来实现这个?

Java 8 来拯救:

LocalDate localDate = LocalDate.of(2015, 3, 2);

如果您确实需要一个java.util.Date,那么您可以使用这个问题中的建议。

如需更多信息,请参阅Java 8的API文档教程


7

使用

java.util.Calendar

是一个可能的选择:

   Calendar calendar = Calendar.getInstance();
   calendar.set(Calendar.YEAR, 2015);
   calendar.set(Calendar.MONTH, 4);
   calendar.set(Calendar.DATE, 28);
   Date date = calendar.getTime();

请记住,月份是从0开始计算的,因此1月是第0个月,12月是第11个月。

3
尝试使用日历功能。
Calendar calendar = Calendar.getInstance();
Date date =  calendar.getTime();

我相信在你的示例中提供的值也有一个可以使用的方法。

这个类是单例的。如果我想改变日期并存储不同的日期,比如在数据库中怎么办? - Stefan Falk
哦,或者是单例模式?^^ - Stefan Falk
1
我不明白你的意思... - Marged
如果它是单例,那就会有问题,但是文档说它不是,所以你的建议很好。 - Stefan Falk

0
使用日历类,特别是set(int year, int month, int date)方法来实现你的目的。这是Java 7中的方法,但在旧版本中你也可以使用等效的setDate()、setYear()等方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接