计算时间差值
通常我们计算时间差值,比如时间相差小时数、天数等,都会用其除法进行操作,但是我们其实可以借助java.util包下的TimeUnit来更方便的进行实现(底层逻辑是一样的实现)
package com.caisl.ap;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;
public class TimeDiffTest {
private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) throws ParseException {
Date startDate = dateFormat.parse("2021-06-01 06:18:00");
Date endDate = dateFormat.parse("2021-06-18 18:59:00");
long dateDiff = endDate.getTime() - startDate.getTime();
// 原始方法
System.out.println("时间秒数差(除法计算):" + dateDiff / 1000);
System.out.println("时间分钟差(除法计算):" + dateDiff / (1000 * 60));
System.out.println("时间小时差(除法计算):" + dateDiff / (1000 * 60 * 60));
System.out.println("时间天数差(除法计算):" + dateDiff / (1000 * 60 * 60 * 24));
// 快捷操作
System.out.println("时间秒数差(TimeUnit转换):" + TimeUnit.MILLISECONDS.toSeconds(dateDiff));
System.out.println("时间分钟差(TimeUnit转换):" + TimeUnit.MILLISECONDS.toMinutes(dateDiff));
System.out.println("时间小时差(TimeUnit转换):" + TimeUnit.MILLISECONDS.toHours(dateDiff));
System.out.println("时间天数差(TimeUnit转换):" + TimeUnit.MILLISECONDS.toDays(dateDiff));
}
}