Java中计算时间差

关于时间差的计算我总结了一下。

方法一:

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

try
{
    Date d1 
= df.parse("2008-03-26 13:31:40");
    Date d2 
= df.parse("2008-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( " 2008-03-26 13:31:40 " );
   java.util.Date date
= df.parse( " 2008-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( " 2008-01-02 11:30:24 " );
   java.util.Date end 
=  dfs.parse( " 2008-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 + " " );

转载于:https://www.cnblogs.com/wllyy189/archive/2008/07/09/1238772.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值