Java中计算时间差的方法

 更新时间:2015年06月24日 12:30:09   作者:萝卜白菜家族  
这篇文章主要介绍了Java中计算时间差的方法,实例分析了java常见的三种计算时间差的技巧,需要的朋友可以参考下

本文实例讲述了Java中计算时间差的方法。分享给大家供大家参考。具体如下:

假设现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

方法一:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
  Date d1 = df.parse("2004-03-26 13:31:40");
  Date d2 = df.parse("2004-01-02 11:30:24");
  long diff = d1.getTime() - d2.getTime();
  long days = diff / (1000 * 60 * 60 * 24);
}
catch (Exception e)
{
}

方法二:

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2004-03-26 13:31:40");
java.util.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+"秒");

方法三:

SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
java.util.Date end = dfs.parse("2004-03-26 13:31:40");
long between=(end.getTime()-begin.getTime())/1000;
//除以1000是为了转换成秒
long day1=between/(24*3600);
long hour1=between%(24*3600)/3600;
long minute1=between%3600/60;
long second1=between%60/60;
System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");

希望本文所述对大家的java程序设计有所帮助。

相关文章

  • Java 中的弱引用是什么

    Java 中的弱引用是什么

    这篇文章主要介绍了Java 中的弱引用是什么,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-01-01
  • 深入浅析jni中的java接口使用

    深入浅析jni中的java接口使用

    这篇文章主要介绍了jni中的java接口使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java参数校验Validator与@AssertTrue深度解析

    Java参数校验Validator与@AssertTrue深度解析

    本文详细介绍了Java的Validator框架及其@AssertTrue注解的使用,包括环境准备、基础注解介绍、实战示例、@AssertTrue的深入解析、高级特性和最佳实践建议,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • Java中如何使用正则表达式提取各种类型括号中的内容

    Java中如何使用正则表达式提取各种类型括号中的内容

    最近在工作中遇到一个问题,就是需要一个字符串中每一个中括号里的内容,下面这篇文章主要给大家介绍了关于Java中如何使用正则表达式提取各种类型括号中的内容,需要的朋友可以参考下
    2023-06-06
  • java之swing单选框用法实例分析

    java之swing单选框用法实例分析

    这篇文章主要介绍了java之swing单选框用法,以实例形式分析了swing图形界面单选框的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • java二维数组指定不同长度实例方法

    java二维数组指定不同长度实例方法

    在本篇内容里小编给大家分享了一篇关于java二维数组指定不同长度实例方法,有兴趣的朋友们可以学习下。
    2021-03-03
  • Java中引用类型之强引用、软引用、弱引用和虚引用详解

    Java中引用类型之强引用、软引用、弱引用和虚引用详解

    这篇文章主要介绍了Java中引用类型之强引用、软引用、弱引用和虚引用的相关资料,通过实际代码示例,展示了如何利用引用队列来跟踪对象的回收状态,并实现资源的自动清理,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • Jenkins 编译后使用SSH发布详解

    Jenkins 编译后使用SSH发布详解

    这篇文章主要介绍了Jenkins 编译后使用SSH发布详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • SpringBoot Admin 如何实现Actuator端点可视化监控

    SpringBoot Admin 如何实现Actuator端点可视化监控

    这篇文章主要介绍了SpringBoot Admin 如何实现Actuator端点可视化监控,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Dubbo之降级Mock源码分析

    Dubbo之降级Mock源码分析

    这篇文章主要为大家介绍了Dubbo降级Mock源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09

最新评论