Javaでは、日付の一方または両方が1970年より前である可能性がある(つまり、Dateオブジェクトを使用できない)場合に、2つの日付の間の日数を見つける方法はありますか?
質問する
4958 次
4 に答える
6
JodaTimeライブラリを強くお勧めします。例:
Days.daysBetween(startDate.toDateMidnight() , endDate.toDateMidnight() ).getDays()
于 2012-09-15T22:52:23.443 に答える
4
は? Date
1970年より前の日付を表すために使用できます。コンストラクターに負の数を渡すだけです。
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 に答える