我不认为您对 Date 构造函数的调用正在执行您认为的操作。
日期的三个 arg 构造函数是:
日期(整数年,整数月,整数日期)已弃用。从 JDK 版本 1.1 开始,由 Calendar.set(year + 1900, month, date) 或 GregorianCalendar(year + 1900, month, date) 取代。
试试这个:
Date(int year, int month, int date, int hrs, int min, int sec) 已弃用。从 JDK 1.1 版开始,替换为 Calendar.set(year + 1900, month, date, hrs, min, sec) 或 GregorianCalendar(year + 1900, month, date, hrs, min, sec)
如果您只关心经过的时间,则为两者插入相同的日期,然后减去。
尝试这个:
日期 d1 = 新日期(15、10、44);System.out.println(d1.toString());
看看是什么日期。
- 如果这是家庭作业,教师可能会不赞成使用任何日期/时间 API 类方法。
导入 java.util.Date;
公共类 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()));
}
}