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 + "秒");
}
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐