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