0
我正在開發一個Java Swing應用程序,該應用程序在一週的特定日期和時間發送報告,例如報告時間爲星期三09:00:00。我正在嘗試使用報告時間計算當前日期和時間之間的時差。例如:日期和時間之間的時差
DayTime1 = 「星期三09:00:00」
DayTime2 = 「星期二13:00:00」
如何計算這兩個值之間的時間差?我自己嘗試過,但我甚至無法接近結果。
我正在開發一個Java Swing應用程序,該應用程序在一週的特定日期和時間發送報告,例如報告時間爲星期三09:00:00。我正在嘗試使用報告時間計算當前日期和時間之間的時差。例如:日期和時間之間的時差
DayTime1 = 「星期三09:00:00」
DayTime2 = 「星期二13:00:00」
如何計算這兩個值之間的時間差?我自己嘗試過,但我甚至無法接近結果。
您需要將字符串創建爲Date對象,然後計算兩個實例之間的持續時間。
DateFormat dateformat = new SimpleDateFormat("EEE HH:mm:ss");
Date date1 = dateformat.parse(dayTime1);
Date date2 = dateformat.parse(dayTime2);
getDuration(date1, date2, Calendar.MINUTE);
public static long getDuration(Date returnTime, Date leaveTime, int scale) {
long durationInMillis = returnTime.getTime() - leaveTime.getTime();
switch (scale) {
case Calendar.MINUTE:
return durationInMillis/ONE_MINUTE_IN_MILLIS;
case Calendar.MILLISECOND:
return durationInMillis;
case Calendar.SECOND:
return durationInMillis/ONE_SECOND_IN_MILLIS;
case Calendar.HOUR:
return durationInMillis/ONE_HOUR_IN_MILLIS;
case Calendar.DAY_OF_YEAR:
case Calendar.DATE:
return durationInMillis/ONE_DAY_IN_MILLIS;
}
throw new IllegalArgumentException("invalid scale specified");
}
如果是Date對象,則date1.getTime() - date2.getTime()將以毫秒爲單位給出diff。 – Subin
SubinS是正確的。你想看到什麼格式的結果? – xagyg
你應該總是發佈你試過的代碼,即使它沒有工作。它有助於證明你已經爲這個問題付出了一些努力,它可能會給你提供比你的問題更多的信息。所以,請發佈您的代碼。 –