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程序设计有所帮助。

时间: 2015-06-21

Java程序执行时间的2种简单方法

第一种是以毫秒为单位计算的.  Java代码  //伪代码   复制代码 代码如下: long startTime=System.currentTimeMillis();   //获取开始时间 doSomeThing();  //测试的代码段 long endTime=System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间: "+(end-start)+"ms"); 第二种是以纳秒为单位计算的.

Java计算两个程序运行时间的实例

一.获取系统当前时间 long startTime = System.currentTimeMillis(); //获取开始时间 doSomething(); //测试的代码段 long endTime = System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间 二.以纳秒为单位计算 // 第二种是以纳秒

java计算两个时间相差天数的方法汇总

问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同 /** * date2比date1多的天数 * @param date1 * @param date2 * @return */ public static int differentDays(Date date1,Date date2) { Calendar cal

java利用mybatis拦截器统计sql执行时间示例

可以根据执行时间打印sql语句,打印的sql语句是带参数的,可以拷贝到查询分析器什么的直接运行 复制代码 代码如下: package mybatis; import java.text.DateFormat;import java.util.Date;import java.util.List;import java.util.Locale;import java.util.Properties; import org.apache.ibatis.executor.Executor;import

Java计算程序代码执行时间的方法小结

本文实例总结了Java计算程序代码执行时间的方法.分享给大家供大家参考,具体如下: 有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用System类的currentTimeMillis()方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 System的currentTimeMillis()方法,并计算两次调用之间的差值,就是方法执行所消耗的毫秒数. 如方法一: long startTime = System.currentTimeMillis(); //获取

java计算两个日期中间的时间

java计算两个日期中间的时间 其中在数据库中有一个字段为datetime类型,想要计算两个日期之间过了多少天 多少小时 多少分钟. 思路为把时间换算为毫秒(与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量).然后利用毫秒的加减计算. 计算如下: public static String getDays(Date date){ Calendar cal=Calendar.getInstance(); cal.setTime(date); long oldTime=ca

java计算时间差的方法

本文实例讲述了java计算时间差的方法.分享给大家供大家参考.具体如下: /** * 计算时间差 * @param begin * @param end * @return 返回格式,"hh:mm:ss" */ public String getTimeDifference(Date begin,Date end) { long between=(end.getTime()-begin.getTime())/1000; //除以1000是为了转换成秒 long hour=between

python计算时间差的方法

本文实例讲述了python计算时间差的方法.分享给大家供大家参考.具体分析如下: 1.问题: 给定你两个日期,如何计算这两个日期之间间隔几天,几个星期,几个月,几年? 2.解决方法: 标准模块datetime和第三方包dateutil(特别是dateutil的rrule.count方法)能非常简单迅速的帮你解决这个问题. from dateutil import rrule import datetime def weeks_between(start_date, end_date): week

在php和MySql中计算时间差的方法详解

在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了. 最近在研究自己爱围脖的时候就要计算到恋爱天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法: (1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可!若是MYSQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段中!用时调用便可! (2)如果没有数据库,那就得完全用php的时间日期函数! 下面主要说明之:

PowerShell中计算时间差的方法

PowerShell中有一个New-TimeSpan的cmdlet,使用它可以很方便的计算两个时间之间的差值.差值还可以提取出年.月.日.时.分.秒. 以前,小编想要知道当时时间到十一放假还有多少天时,小编一般会写一个VBScript脚本来简单计算一下.这个VBScript脚本很简单,只有一句话: 复制代码 代码如下: MsgBox DateDiff("d", Now(), "2013-10-1") 新建一个纯文本文件,把这句话放进去.然后再把这个文件的文件名改为x

java8 计算时间差的方法示例

一.简述 在Java8中,我们可以使用以下类来计算日期时间差异: 1.Period 2.Duration 3.ChronoUnit 二.Period类 主要是Period类方法getYears(),getMonths()和getDays()来计算. 示例: package insping; import java.time.LocalDate; import java.time.Month; import java.time.Period; public class Test { public

在php和MySql中计算时间差的方法

最近在研究自己爱围脖的时候就要计算到恋爱天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法: (1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可! 若是MYSQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段中!用时调用便可! (2)如果没有数据库,那就得完全用php的时间日期函数! 下面主要说明之: 例:计算1998年5月3日到1999-6-5的天数: 复制代码 代码如下: $startdat

Java实现利用广度优先遍历(BFS)计算最短路径的方法

本文实例讲述了Java实现利用广度优先遍历(BFS)计算最短路径的方法.分享给大家供大家参考.具体分析如下: 我们用字符串代表图的顶点(vertax),来模拟学校中Classroom, Square, Toilet, Canteen, South Gate, North Gate几个地点,然后计算任意两点之间的最短路径. 如下图所示: 如,我想从North Gate去Canteen, 程序的输出结果应为: BFS: From [North Gate] to [Canteen]: North Ga

PHP简单计算两个时间差的方法示例

本文实例讲述了PHP简单计算两个时间差的方法.分享给大家供大家参考,具体如下: <?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45:09"; $date=floor((strtotime($enddate)-strtotime($startdate))/86400); $hour=floor((strtotime($enddate)-strtoti

C#计算两个时间差的方法代码分享

一.首先,介绍几个简单的概念.如下: 1.DateTimeDateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻.因此,你可以用DateTime值类型来描述任何在想象范围之内的时间.一个DateTime值代表了一个具体的时刻 2.TimeSpanTimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值下面的列表涵盖了其中的一部分:Add:与另一个TimeSpan值相加.Days:返回用天数计算的Ti