-1

我想在Javautil.Date中使用这个类,但是当我尝试实例化一个对象时,我意识到所有我能理解的构造函数——简单的构造函数——都消失了。全部弃用。Date

谁能告诉我如何利用Date课堂?

这是我的代码。

构造函数:

public Company(int id, String name, Date foundationDate) {
    super();
    this.id = id;
    this.name = name;
    this.foundationDate = foundationDate;
}

测试类:

Company[] companies = new Company[3];
companies[0] = new Company(1, "Sabanci", new Date(12,12,12));
4

3 回答 3

6

自 Java 1.1(很久以前)以来,此构造函数已被弃用来自javadoc

日期(整数年,整数月,整数日期)

已弃用。

从 JDK 版本 1.1 开始,由Calendar.set (year + 1900, month, date) 或GregorianCalendar (year + 1900, month, date) 代替。

至于极其优越的JODA Time方法(来自JavaDoc):

new DateTime(2012,12,12,0,0);
于 2013-04-29T21:45:40.723 回答
4

如果您想使用标准 Java 类并且想要避免不推荐使用的方法(这是一个好主意),那么您可以使用java.util.Calendar该类。如评论中所述,JODA Time 库更易于使用,但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.

于 2013-04-29T21:46:52.773 回答
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");
于 2017-01-01T23:30:23.280 回答