1

Javaでは、日付の一方または両方が1970年より前である可能性がある(つまり、Dateオブジェクトを使用できない)場合に、2つの日付の間の日数を見つける方法はありますか?

4

4 に答える 4

6

JodaTimeライブラリを強くお勧めします。例:

Days.daysBetween(startDate.toDateMidnight() , endDate.toDateMidnight() ).getDays()
于 2012-09-15T22:52:23.443 に答える
4

は? Date1970年より前の日付を表すために使用できます。コンストラクターに負の数を渡すだけです。

System.out.println(new Date(-1000));
System.out.println(new Date("Jul 4 1776"));  // note: deprecated API.  Just an easy example

プリント

Wed Dec 31 15:59:59 PST 1969
Thu Jul 04 00:00:00 PST 1776
于 2012-09-15T22:56:38.047 に答える
2

グレゴリオ暦を試すこともできます。月は0ベースで、日は1ベースであることに注意してください

import java.util.GregorianCalendar;

//january, 1st, 2012
GregorianCalendar c1 = new GregorianCalendar(2012, 0, 1);
//march, 3rd, 1912
GregorianCalendar c2 = new GregorianCalendar(1912, 2, 3);
long differenceInSeconds = (c1.getTimeInMillis() - c2.getTimeInMillis()) / 1000;
于 2012-09-15T23:09:29.290 に答える