最近使用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是LocalDateLocalTimeLocalDateTime的声明接口,因此可以直接传递我们常用的时间类。

示例

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
===========

java8 time计算时间差的更多相关文章

  1. Android计算时间差

    想要写个根据消耗时长来确定开始结束时间的小工具,发现Android处理时间上有点累,可能是我没找到合适的方法吧,先把我的解决办法贴出来,有好的解决方法还希望提醒一下: 1.根据时间字符串获取毫秒数 p ...

  2. 【转载】c/c++在windows下获取时间和计算时间差的几种方法总结

    一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t time ...

  3. C#计算时间差值

    /// <summary> /// 计算时间差值 /// </summary> /// <param name="DateTime1">< ...

  4. 登录超时自动退出,计算时间差-b

    // 此方法适用于所有被创建过的controller,且当前controller生命周期存在,如有错误的地方望大神斧正 //  说一下我们的需求和实现原理,需求:在点击home键退出但没有滑飞它,5分 ...

  5. python分页和session和计算时间差

    分页 #!/usr/bin/env python # -*- coding:utf-8 -*- class Pagenation: def __init__(self,current_page,all ...

  6. js计算时间差,包括计算,天,时,分,秒

    收集两个计算时间差的计算方法代码片段: var date1=new Date(); //开始时间 var date2=new Date(); //结束时间 var date3=date2.getTim ...

  7. Android中计算时间差的实现方法

    今天为“至简天气”增加了一项功能:在启动时根据上次更新数据的时间判断是否有必要更新数据,因为 weather.com.cn 的实况数据貌似是25分钟才会刷新一次,只有在据上次更新的时间达25分钟以上才 ...

  8. datetime 计算时间差

    计算时间差: .date()       # 格式化 .timedelta()         # 时间差 import datetime # 今天 today = datetime.datetime ...

  9. excel计算时间差值

    excel计算时间差值 2018/10/1 10:59:00 减去 2018/9/21 1:05:13 获取 多少天. 如1.2天.这种. ==

随机推荐

  1. (五)Spring 中的 aop

    目录 文章目录 AOP概念 AOP原理 AOP术语 **`Spring`** 中的 **`aop`** 的操作 使用 `AspectJ` 实现 `aop` 的两种方式 AOP概念 浅理解 aop :面 ...

  2. JavaScript之二分法

    二分法:   二分查找,又称为折半查找.   注意:二分法查找的数组必须是有序的. /* 获取元素88在数组中第一次出现的索引位置 如果数组元素中存在88,则直接返回88在数组中的索引位置即可. 如果 ...

  3. # 滚动Hash

    滚动Hash 假设字符串\(C=c_1*c_2*...c_m\),定义Hash函数\(H(C)=(C_1*b^{m-1}+C_2*b^{m-2}+...C_m*b^{0})mod\; h\) 从k开始 ...

  4. fiddler笔记:与Web Session的交互

    Decode Selected Session 解决响应体显示乱码的问题. AutoScroll Session List 决定Fiddler是否会自动将新增的Session添加到web sessio ...

  5. 笔记-2:python基本数据类型

    1.数字类型 1.1 整数类型 整数类型有4种进制表示:十进制,二进制,八进制,十六进制,默认情况下,整数采用十进制. 整数类型有4种进制:十进制. 二进制. 八进制和十六进制. 默认情况, 整数采用 ...

  6. Python爬取猫眼电影排行

    import requests import pyquery def crawl_page(url: str) -> None: headers = { 'user-agent': 'Mozil ...

  7. selenium模块基础用法详解

    目录 selenium模块 官方文档 介绍 安装 有界面浏览器 无界浏览器 selenium+谷歌浏览器headless模式 基本使用 选择器 基本用法 xpath 获取标签属性 等待元素被加载 隐式 ...

  8. Wannafly挑战赛23

    B. 游戏 大意: $n$堆石子, 第$i$堆初始$a_i$, 每次只能选一堆, 假设一堆个数$x$, 只能取$x$的约数, 求先手第一步必胜取法. SG入门题, 预处理出所有$SG$值. 先手要必胜 ...

  9. Asp.net core 学习笔记 QR code and Barcode

    QR code 和 Barcode 经常会使用到. Java 阵营有著名的 zxing https://github.com/zxing/zxing .Net 有对接它的 port https://g ...

  10. 怎样监听HTTP请求的成功、失败与进行时

    1. 监听请求成功: xhr.onload 2. 监听请求失败: xhr.onerror 3. 监听请求数据下载中: xhr.onprogress xhr.onload = function() { ...