Java中计算时间差的方法
本文实例讲述了Java中计算时间差的方法。分享给大家供大家参考。具体如下:
假设现在是2004-03-2613:31:40
过去是:2004-01-0211:30:24
要获得两个日期差,差的形式为:XX天XX小时XX分XX秒
方法一:
DateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
try
{
Dated1=df.parse("2004-03-2613:31:40");
Dated2=df.parse("2004-01-0211:30:24");
longdiff=d1.getTime()-d2.getTime();
longdays=diff/(1000*60*60*24);
}
catch(Exceptione)
{
}
方法二:
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
java.util.Datenow=df.parse("2004-03-2613:31:40");
java.util.Datedate=df.parse("2004-01-0211:30:24");
longl=now.getTime()-date.getTime();
longday=l/(24*60*60*1000);
longhour=(l/(60*60*1000)-day*24);
longmin=((l/(60*1000))-day*24*60-hour*60);
longs=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
方法三:
SimpleDateFormatdfs=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
java.util.Datebegin=dfs.parse("2004-01-0211:30:24");
java.util.Dateend=dfs.parse("2004-03-2613:31:40");
longbetween=(end.getTime()-begin.getTime())/1000;
//除以1000是为了转换成秒
longday1=between/(24*3600);
longhour1=between%(24*3600)/3600;
longminute1=between%3600/60;
longsecond1=between%60/60;
System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");
希望本文所述对大家的java程序设计有所帮助。