java8 判断相差小时数_java8 time计算时间差

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:51   3497   0

最近使用Java8编写代码时,需要计算时间差,现整理如下

前言

本次使用了Java8提供的ChronoUnit工具类,它主要提供以下几种时间维度

枚举

枚举

说明

NANOS

毫微秒(毫秒的1000000分之一)

MICROS

微秒(毫秒的1000分之一)

MILLIS

毫秒

SECONDS

MINUTES

分钟

HOURS

小时

HALF_DAYS

半天

DAYS

WEEKS

MONTHS

YEARS

DECADES

十年

CENTURIES

世纪(百年)

MILLENNIA

千年

ERAS

纪元(1000_000_000L年)

枚举提供一个betwwen方法,接收两个参数,都是Temporal类型。

Temporal是LocalDate、LocalTime、LocalDateTime的声明接口,因此可以直接传递我们常用的时间类。

示例

LocalDateTime time1 = LocalDateTime.of(2019, 11, 1, 0, 0);

LocalDateTime time2 = LocalDateTime.of(2019, 12, 2, 0, 0);

System.out.println("===输出秒===");

System.out.println(ChronoUnit.SECONDS.between(time1, time2));

System.out.println("===========");

System.out.println("===输出小时===");

System.out.println(ChronoUnit.HOURS.between(time1, time2));

System.out.println("===========");

System.out.println("===输出半天===");

System.out.println(ChronoUnit.HALF_DAYS.between(time1, time2));

System.out.println("===========");

System.out.println("===输出天===");

System.out.println(ChronoUnit.DAYS.between(time1, time2));

System.out.println("===========");

System.out.println("===输出周===");

System.out.println(ChronoUnit.WEEKS.between(time1, time2));

System.out.println("===========");

System.out.println("===输出月===");

System.out.println(ChronoUnit.MONTHS.between(time1, time2));

System.out.println("===========");

System.out.println("===输出年===");

System.out.println(ChronoUnit.YEARS.between(time1, time2));

System.out.println("===========");

输出结果

===输出秒===

2678400

===========

===输出小时===

744

===========

===输出半天===

62

===========

===输出天===

31

===========

===输出周===

4

===========

===输出月===

1

===========

===输出年===

0

===========

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP