[英]How to calculate the difference in minutes between two timeStamp ( with different days)?
當我寫時t1,t2;
我試圖計算兩個 java 時間戳之間的分鍾差異:時間戳t1,t2;
t2.getTime()-t1.getTime();
它只返回兩次之間的差異,我需要整個時間的差異(包括天數)
嘗試這個
long difftime = t1.getTime() - t2.getTime();
long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;
假設你的意思是java.sql.Timestamp
,下面的代碼似乎工作得很好:
import java.sql.Timestamp;
class Scratch {
public static final long MINUTES_PER_HOUR = 60;
public static final long SECONDS_PER_MINUTE = 60;
public static final long HOURS_PER_DAY = 24;
public static final long MILLIS_PER_SECOND = 1000L;
public static void main(String[] args) {
long oneDayPlusFiveMinutesInMillis = (MILLIS_PER_SECOND * SECONDS_PER_MINUTE) * ( 5 + MINUTES_PER_HOUR * HOURS_PER_DAY);
Timestamp t0 = new Timestamp(System.currentTimeMillis());
Timestamp t1 = new Timestamp(t0.getTime() + oneDayPlusFiveMinutesInMillis);
long diff = (t1.getTime() - t0.getTime()) / (MILLIS_PER_SECOND * SECONDS_PER_MINUTE);
System.out.println("t1 - t0 = " + diff + " minutes");
}
}
返回:
t1 - t0 = 1445 minutes
2個時間戳之間的差異給出了毫秒。 之后應用數學:
// get time difference in seconds
long milliseconds = timestamp2.getTime() - timestamp1.getTime();
int seconds = (int) milliseconds / 1000;
// calculate hours minutes and seconds
int hours = seconds / 3600;
int minutes = (seconds % 3600) / 60;
seconds = (seconds % 3600) % 60;
Timestamp t1 = new Timestamp(new Date("04/26/2019 20:32:49").getTime());
Timestamp t2 = new Timestamp(new Date("04/27/2019 19:32:49").getTime());
long diff = t2.getTime() - t1.getTime();
long diffSeconds = diff / 1000 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffDays = diff / (24 * 60 * 60 * 1000);
long diffTotMinutes = diff / (60 * 1000);
System.out.println("Days: " + diffDays + " \nTime: " + diffHours + ":" + diffMinutes + ":" + diffSeconds);
System.out.println("Total Minutes: " + diffTotMinutes);
輸出:
Days: 0
Time: 23:0:0
Total Minutes: 1380
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.