我想在 Java 中使用util.Date
类,但是当我尝试实例化Date
对象时,我意识到我能理解的所有构造函数 - 简单的 - 已经消失了。全部弃用。
有人可以告诉我如何使用Date
课程吗?
这是我的代码。
构造
public Company(int id, String name, Date foundationDate) {
super();
this.id = id;
this.name = name;
this.foundationDate = foundationDate;
}
识别TestClass:
Company[] companies = new Company[3];
companies[0] = new Company(1, "Sabanci", new Date(12,12,12));
答案 0 :(得分:6)
自Java 1.1(a long time ago)以来,{@ 3}}已弃用此构造函数
日期(int year,int month,int date)
已过时。
自JDK 1.1版开始,由javadoc(年+ 1900,月,日)或Calendar.set(年+ 1900,月,日)取代。
至于非常优越的GregorianCalendar方法(来自JODA Time):
new DateTime(2012,12,12,0,0);
答案 1 :(得分:4)
如果您想使用标准Java类并且希望避免使用已弃用的方法(这是一个好主意),那么您可以使用java.util.Calendar
类。正如评论中所述,JODA时间库更易于使用,但内置了Calendar
。
创建日期2012年12月12日:
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(2012, Calendar.DECEMBER, 12);
Date date = cal.getTime();
最终得到java.util.Date
。显然,您可以创建一个方便的方法来构建Calendar
对象,然后返回Date
。
答案 2 :(得分:1)
从Java 1.8开始,您现在也可以使用标准time
库。
import java.time.LocalDate;
LocalDate myDate = LocalDate.of( 2012 , 12 , 12 ); // ( year , month , day-of-month )
或者解析一个字符串。
LocalDate myDate = LocalDate.parse("2012-12-12");