Java LocalDateTime计算两个时间之间的差值
常用的LocalDateTime的计算API
//获得当前时间
LocalDateTime.now()
// 获得两个时间之间的相差值
Duration dur= Duration.between(LocalDateTime startTime, LocalDateTime endTime );
//两个时间差的分钟数
dur.toMinutes()
//纳秒
dur.toNanos()
//毫秒
dur.toMillis()
//分钟
dur.toMinutes()
//小时
dur.toHours()
//天数
dur.toDays()
之前需要用到LocalDateTime去计算一个倒计时,上网查了一下,发现LocalDateTime的API中没有明确的能够计算到两个时间之间相差的天数,小时数,分钟数,秒钟数,所以只能自己写了强制计算的方法,记录一下
public void getDate() {
LocalDateTime now = LocalDateTime.now();
LocalDateTime end = LocalDateTime.of(2020, 7, 30, 16, 6, 38);
System.out.println(now + "||||" + end);
System.out.println("计算两个时间的差:");
//获取秒数
long nowSecond = now.toEpochSecond(ZoneOffset.ofHours(0));
long endSecond = end.toEpochSecond(ZoneOffset.ofHours(0));
long absSeconds = Math.abs(nowSecond - endSecond);
System.out.println(nowSecond + "||" + endSecond);
//获取秒数
long s = absSeconds % 60;
//获取分钟数
long m = absSeconds / 60 % 60;
//获取小时数
long h = absSeconds / 60 / 60 % 24;
//获取天数
long d = absSeconds / 60 / 60 / 24;
System.out.println(d + "天" + h + "时" + m + "分" + s + "秒");
}