java 计算 时间差_Java8 时间差计算

方式一:

/**

* DateTimeFormatter java 8 线程安全

* @throws Exception

*/

@Test

public void testTimeDiff() throws Exception {

// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.of("Asia/Shanghai"));

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

LocalDateTime startDate = LocalDateTime.parse("2019-07-12 00:00:00", formatter);

LocalDateTime endDate = LocalDateTime.parse("2019-10-12 02:00:00", formatter);

// 日期区间

long days = ChronoUnit.DAYS.between(startDate, endDate);

//月

long month = ChronoUnit.MONTHS.between(startDate, endDate);

//年

long year = ChronoUnit.YEARS.between(startDate, endDate);

long hour = ChronoUnit.HOURS.between(startDate, endDate);

long min = ChronoUnit.MINUTES.between(startDate, endDate);

System.err.println( "相差MIN:"+min);

System.err.println( "相差hour:"+hour);

System.err.println( "相差days :"+days);

System.err.println( "相差month :"+month);

System.err.println( "相差year:"+year);

}

public void test() {

try {

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date now = df.parse("2019-03-26 13:31:40");//当前时间

Date date = df.parse("2004-01-02 11:30:24");//过去

long l = now.getTime() - date.getTime();

long day = l / (24 * 60 * 60 * 1000);

long hour = (l / (60 * 60 * 1000) - day * 24);

long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);

long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);

System.out.println("" + day + "天" + hour + "小时" + min + "分" + s + "秒");

} catch (Exception e) {

}

}

标签:startDate,endDate,hour,System,long,时间差,60,计算,Java8

来源: https://www.cnblogs.com/lshan/p/12493313.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java spring druid_Spring配置Druid连接池

最近项目用c3p0数据连接池有问题,因此换成了druid连接池,它的优点是可以很好的监控DB池连接和SQL的执行情况。在此做个记录便于下次使用。1、首先导入Spring(网上很多这里我就不列举了)和Druid(druid-1.0.9.jar)的相关jar包2、在web.xml中搭建Spring和Dr…

Ubuntu11.04 3945ABG无线网卡驱动安装

由于对无线上网的需求,特对Ubuntu11.04的无线驱动进行安装,一波三折。 首先是"系统设置"-->"硬件"-->"附加驱动",显示“这个系统上没有使用专有驱动”,也就是找不到3945ABG无线网卡的驱动。 …

Java获取本地ip方法_Java获取本地IP方法详解

获取本地服务器IP经常会出现127.0.0.1,0:0:0:0:0:0:0:1,fe80:0:0:0:960:74bd:e1a0:e5b9%11 这些情况,以下代码可解决此问题public static void main(String[] args) {try {Enumeration enumeration NetworkInterface.getNetworkInterfaces()…

记录android点滴(一)--通过build.prop实现产品定制的方法

1、通过build.prop实现产品定制的方法: 1)以编译模拟器的Generic版本为例,system.prop文件处 于以下位置(相对于工程根目录): ./build/target/board/generic/system.prop 里面的内容如下: # # s…

Java连接SQL数据库失败的分析思路

简单的说下java连接SQL数据库的步骤: 1. 首先要有一个jtds.jar数据库驱动包。 2. 可先在项目下新建一个Folder,取名为lib,把jtds驱动包放到lib文件夹下。 3. 在项目上右键 build path → add External Archive 找到自己项目下刚才新建的lib文件夹&…

java 图片上传 预览 demo_图片上传预览

【实例简介】实现图片上传预览,可以增加新的空数组,并上传和替换。还有删除功能;提交的时候,还可以判断是否有空的img【实例截图】【核心代码】613ddc50-96b8-4197-ba2e-1e84f3346fb9└── demo├── assets│ ├── css│ …

ADO连接各种数据库

通过ADO连接各种数据库的字符串集 海南省信息服务中心 温大文 在网络编程过程中,ADO(Activex Data Object)编程往往是不可少的工作,特别是开发电子商务网站。既然讲到ADO数据对象,那么就顺便简单地介绍一下ADO数据对象…

java验证码限流_Java实现系统限流

在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧,今天我们就来聊聊限流。限流是保障系统高可用的方式之一,当然啦也是大厂高频面试题,如果阿里的面试官问一句:“如何实现每秒钟1K个请求的限流?”…

(转)三层相关案例(及常见的错误)

原文地址:http://www.cnblogs.com/zysbk/archive/2012/10/16/2726895.html三层相关案例(及常见的错误) 今天我们再次带领大家学习三层的知识,由于三层这块的内容在工作中用的比较的多.所以,我再把登录验证密码的题目做一遍.题目中没有了验证用…

数据库的几个概念:主键,外键,索引,唯一索引

主键:主键是数据表的唯一索引,比如学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,你要从学生表中搜索一条纪录如查找一个人,就只能根据学号去查找,这才能找出唯一的一个,…

java ee实验新闻_JAVAEE第四次作业-JSP显示新闻

JAVAEE第四次作业-JSP显示新闻一、任务使用mysql创建新闻表用户登录时,用servlet获取用户名密码,查询数据库是否存在如果是正确的用户名密码,查询新闻表,将新闻数据传给JSP首页JSP首页用EL表达式显示新闻标题列表二、任务1实验过程…

sql数据库连接不上本地数据库的解决办法

如果sql数据库连接本地的sql数据库连接不上即用.连接不上了,错误内容为: 可以执行一下以下操作:开始-sql—配置工具—sql server 外围应用配置器—服务和连接的外围应用配置器—如果服务状态为:已停止,则启动一下即可。…

python2 unicode编码_如何优雅解决python2.x的unicode编码优雅输出?

python2.x字符编码有一个这样的问题,类似下面这样:>>> d {usubType: u\u5f55\u97f3\u5ba4\u7248,uname: u\u5468\u6770\u4f26\u7684\u5e8a\u8fb9\u6545\u4e8b}>>> print d{usubType: u\u5f55\u97f3\u5ba4\u7248,uname: u\u5468\u6770…