Date コンストラクターへの呼び出しが、あなたが思っていることを行っているとは思いません。
date の 3 つの引数コンストラクターは次のとおりです。
Date(int year, int month, int date) 非推奨。JDK バージョン 1.1 以降、Calendar.set(年 + 1900 年、月、日) または GregorianCalendar (年 + 1900 年、月、日) に置き換えられました。
これを試してください:
Date(int year, int month, int date, int hrs, int min, int sec) 非推奨。JDK バージョン 1.1 以降、Calendar.set(年 + 1900、月、日、時、分、秒) または GregorianCalendar (年 + 1900、月、日、時、分、秒) に置き換えられました。
経過時間だけが気になる場合は、両方に同じ日付をプラグインしてから減算します。
これを試して:
日付 d1 = 新しい日付 (15、10、44); System.out.println(d1.toString());
何の日付が出されているかを確認してください。
- これが宿題である場合、インストラクターはおそらく日付/時刻 API クラスのメソッドの使用に眉をひそめるでしょう。
java.util.Date をインポートします。
public class SomeOnesHomeWork {
public final int secondsInMinute = 60;
public final int millisecondsPerSecond =1000;
public final int milliPerMinute = secondsInMinute * millisecondsPerSecond;
public int convertMillisecondsToMinutes(long milliseconds){
return (int) (milliseconds / milliPerMinute);
}
public int differenceInMinutes(long beginTime,long endTime){
return convertMillisecondsToMinutes(endTime - beginTime);
}
public static void main(String[] argc){
//Make the dates
Date d1 = new Date(1999,12,31,23,45,44);
Date d2 = new Date(1999,12,31,23,59,59);
//We Could use Static methods, probably should
SomeOnesHomeWork aHomeWorkObject = new SomeOnesHomeWork();
System.out.println("The time between two dates in minutes: "
+ aHomeWorkObject.differenceInMinutes(
d1.getTime(),d2.getTime()));
}
}