-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から

Date(int 年、int 月、int 日)

非推奨。

JDK バージョン 1.1 以降、 Calendar.set (年 + 1900、月、日) またはGregorianCalendar (年 + 1900、月、日)に置き換えられました。

非常に優れた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.DateCalendar明らかに、オブジェクトを構築し、 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 に答える