java 獲取兩個時間差 年月日 時分秒 格式

2021-09-01 13:21:47 字數 1215 閱讀 7270

public static string datetostring(date d) 

//天數

long nd = 1000 * 24 * 60 * 60;

//小時

long nh = 1000 * 60 * 60;

//分鐘

long nm = 1000 * 60;

//秒long ns = 1000;

string date = "";

calendar cal1 = calendar.getinstance();

cal1.settime(d);

//當前時間

calendar cal2 = calendar.getinstance();

cal2.settime(new date());

//只要年月

int fromyear = cal1.get(calendar.year);

int frommonth = cal1.get(calendar.month);

int toyear = cal2.get(calendar.year);

int tomonth = cal2.get(calendar.month);

//計算時間差

long diff = cal2.gettime().gettime() - cal1.gettime().gettime();

// 計算差多少天

long day = diff / nd;

// 計算差多少小時

long hour = diff % nd / nh;

// 計算差多少分鐘

long min = diff % nd % nh / nm;

// 計算差多少秒

long ss = diff % nd % nh % nm / ns;

//計算月數

int month = tomonth - frommonth;

//計算年數

int year = toyear - fromyear;

if (ss < 60 && ss > 0)

if (min < 60 && min > 0)

if (hour < 60 && hour > 0)

if (day > 0)

if (month > 0)

if (year > 0)

return date;

}

C 計算兩個時間差(年月日時分秒)

由於業務需求,在系統中計算任務需要花費多少時間,並按開始時間和結束時間來計算,可以得到多少年 多少個月 多少天,如果是同一天就需要得到多少小時 多少分鐘 多少秒 直接上 public string term datetime b,datetime e int diffmonth e.year b.y...

Java Calendar獲取年 月 日 時間

calendar c calendar.getinstance timezone.gettimezone gmt 08 00 獲取東八區時間 int year c.get calendar.year 獲取年 int month c.get calendar.month 1 獲取月份,0表示1月份 i...

Calendar獲取年 月 日 時間

calendar c calendar.getinstance timezone.gettimezone gmt 08 00 獲取東八區時間 int year c.get calendar.year 獲取年 int month c.get calendar.month 1 獲取月份,0表示1月份 i...