方寸心间

一路走,十年不回头

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
关于时间差的计算我总结了一下。

方法一:

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+"");
posted on 2008-07-09 11:44  方寸心间  阅读(19193)  评论(1编辑  收藏  举报