package com.shucha.deveiface.biz.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class DateDiff {
public static Long dateDiff(String startTime, String endTime, String format, String str) {
SimpleDateFormat sd = new SimpleDateFormat(format);
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
long ns = 1000;
long diff;
long day = 0;
long hour = 0;
long min = 0;
long second = 0;
try {
diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime();
day = diff / nd;
hour = diff / nh ;
min = diff / nm ;
second = diff / ns;
System.out.println("时间相差:" + day + "天" +
(hour - day * 24) + "小时"
+ (min - day * 24 * 60) + "分钟" +
second + "秒。");
} catch (ParseException e) {
e.printStackTrace();
}
if (str.equalsIgnoreCase("day")) {
return day;
} else if(str.equalsIgnoreCase("hour")) {
return hour;
} else if(str.equalsIgnoreCase("min")) {
return min;
} else {
return second;
}
}
public static void main(String[] args) {
System.out.println("相差多少天:" + dateDiff(
"2022-04-18 11:31:25",
"2022-04-19 12:31:25",
"yyyy-MM-dd HH:mm:ss",
"day"));
System.out.println("相差多少小时:" + dateDiff(
"2022-04-18 11:31:25",
"2022-04-19 12:31:25",
"yyyy-MM-dd HH:mm:ss",
"hour"));
System.out.println("相差多少分钟:" + dateDiff(
"2022-04-18 11:31:25",
"2022-04-18 12:31:25",
"yyyy-MM-dd HH:mm:ss",
"min"));
System.out.println("相差多少秒:" + dateDiff(
"2022-04-18 11:31:25",
"2022-04-18 12:31:25",
"yyyy-MM-dd HH:mm:ss",
"sec"));
}
}