0

重複の可能性:
Javaで日付を減算するにはどうすればよいですか?

Java デスクトップ アプリケーションを作成しています。そのアプリケーションで、ユーザーはいくつかの日付を入力します。だから私はサードパーティのライブラリ「jCalendar.jar」を使います。検証のために、2 つの日付を減算します。Javaで2つの日付を減算する方法はありますか?

4

4 に答える 4

4

Java はあまり提供しません。オープン ソースを見ることができます: JODAを試してください。

DateTime dt1 = new DateTime(2000, 1, 1, 0, 0, 0, 0);
DateTime dt2 = new DateTime(2010, 1, 1, 0, 0, 0, 0);
int noOfdays = Days.daysBetween(dt1, dt2).getDays();
于 2012-08-14T14:43:27.317 に答える
2

Java での日付処理の事実上の標準であるJoda Timeを参照することをお勧めします。java.util.DatesjavaDate1、およびの 2 つが与えられた場合javaDate2:

DateTime d1 = new DateTime(javaDate1);
DateTime d2 = new DateTime(javaDate2);

Period diff = new Period(d1, d2);

これで、オブジェクトの違いをクエリして、diffその構成要素 (年、月、日など) に分割できます。詳細については、Joda Time period ガイドを参照してください。

于 2012-08-14T14:42:44.153 に答える
2

Java Date または Java Calendar を使用している場合は、次のようなものを使用できます。

Calendar firstOperand = new GregorianCalendar();
Calendar secondOperand = new GregorianCalendar();
Calendar result = new GregorianCalendar();

result.setTimeInMillis(firstOperand.getTimeInMillis() - secondOperand.getTimeInMillis());

編集:コメントで指摘されているように、結果をカレンダーに保存することはあまり意味がありません。返されたミリ秒は引き続き操作に使用できます。

可能であれば、 JODAなどのライブラリを使用してこれを処理することもできます。

2 つの日付などから、数、分数日数月数などを取得できます。

于 2012-08-14T14:47:59.043 に答える
0

java.util.GregorianCalendarを使用できます

このクラスのインスタンスを作成し、setTime() メソッドを呼び出して日付を設定します。最後に、このクラスのメソッドを使用します。

于 2012-08-14T14:44:27.403 に答える