本文實(shí)例講述了Java中計(jì)算時(shí)間差的方法。分享給大家供大家參考。具體如下:
假設(shè)現(xiàn)在是2004-03-26 13:31:40
過(guò)去是:2004-01-02 11:30:24
要獲得兩個(gè)日期差,差的形式為:XX天XX小時(shí)XX分XX秒
方法一:
1
2
3
4
5
6
7
8
9
10
11
|
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) { } |
方法二:
1
2
3
4
5
6
7
8
9
|
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+ "小時(shí)" +min+ "分" +s+ "秒" ); |
方法三:
1
2
3
4
5
6
7
8
9
10
|
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是為了轉(zhuǎn)換成秒 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+ "小時(shí)" +minute1+ "分" +second1+ "秒" ); |
希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。