Java8 time计算时间差
最近使用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
===========

浙公网安备 33010602011771号