这篇文章将使用两个例子计算两个日期的时间差。
1.使用Java SDK。
2.使用Joda库。
1.使用Java SDK
计算两个Date之间的时间差,基本思路为把Date转换为ms(微秒),然后计算两个微秒时间差。时间的兑换规则如下:
1s秒 = 1000ms毫秒 1min分种 = 60s秒 1hours小时 = 60min分钟 1day天 = 24hours小时packagecom.qiyadeng.date;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDateDifferentExample{
publicstaticvoidmain(String[]args){
StringdateStart="-02-1909:29:58";
StringdateStop="-02-:31:48";
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
Dated1=null;
Dated2=null;
try{
d1=format.parse(dateStart);
d2=format.parse(dateStop);
//毫秒ms
longdiff=d2.getTime()-d1.getTime();
longdiffSeconds=diff/1000%60;
longdiffMinutes=diff/(60*1000)%60;
longdiffHours=diff/(60*60*1000)%24;
longdiffDays=diff/(24*60*60*1000);
System.out.print("两个时间相差:");
System.out.print(diffDays+"天,");
System.out.print(diffHours+"小时,");
System.out.print(diffMinutes+"分钟,");
System.out.print(diffSeconds+"秒.");
}catch(Exceptione){
e.printStackTrace();
}
}
}
运行结果:
两个时间相差:1 天, 2 小时, 1 分钟, 50 秒.