Java中计算时间差的方法

作者:萝卜白菜家族 时间:2023-11-15 10:35:44 

本文实例讲述了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,计算,时间差
0
投稿

猜你喜欢

  • Java String的intern用法解析

    2023-04-22 19:03:35
  • flutter中的资源和图片加载示例详解

    2023-08-24 13:19:39
  • Android闹钟机制实现定时任务功能

    2021-08-06 07:36:03
  • Spring-IOC容器中的常用注解与使用方法详解

    2021-05-26 23:37:45
  • springboot+zookeeper实现分布式锁的示例代码

    2022-02-05 08:48:48
  • java转换字符串编码格式的方法

    2022-02-12 04:30:24
  • C#读取txt文件数据的方法实例

    2022-12-08 15:25:41
  • Android实现颜色渐变动画效果

    2022-05-31 09:52:53
  • Mybatis实现SQL存储流程详解

    2022-09-11 05:17:05
  • java可以作为第一门编程语言学习吗

    2021-05-25 07:52:37
  • 将Java对象序列化成JSON和XML格式的实例

    2022-09-23 23:39:11
  • Android AS为xutils添加依赖过程图解

    2023-11-16 03:51:05
  • Android 源码浅析RecyclerView ItemAnimator

    2022-04-20 19:47:41
  • Eclipse自定义启动画面和图标的方法介绍

    2022-05-14 09:27:13
  • Spring中的两种代理JDK和CGLIB的区别浅谈

    2023-01-04 19:05:05
  • 简单实现Android闹钟功能

    2022-05-23 16:17:53
  • Java登录功能实现token生成与验证

    2023-11-30 07:57:28
  • 详解Java中方法重写和方法重载的6个区别

    2023-11-28 13:42:18
  • Java 分割字符串详解及实例代码

    2023-11-29 13:18:42
  • DevExpress中GridControl列转义的实现方法

    2022-11-10 05:14:31
  • asp之家 软件编程 m.aspxhome.com