提供一种可以计算指定起至日期内的时间间隔函数.
/**
* 计算指定日期时间之间的时间差
* @param beginStr 开始日期字符串
* @param endStr 结束日期字符串
* @param f 时间差的形式0-秒,1-分种,2-小时,3--天
* 日期时间字符串格式:yyyyMMddHHmmss
* */
public static int getInterval(String beginStr,String endStr,int f){
int hours = 0;
try{
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
Date beginDate = df.parse(beginStr);
Date endDate = df.parse(endStr);
long millisecond=endDate.getTime()-beginDate.getTime(); //日期相减得到日期差X(单位:毫秒)
/**
* 1秒 = 1000毫秒
* millisecond/1000 --> 秒
* millisecond/1000*60 - > 分钟
* millisecond/(1000*60*60) -- > 小时
* millisecond/(1000*60*60*24) --> 天
* */
switch(f){
case 0: // second
return Math.abs((int)(millisecond/1000));
case 1: // minute
return Math.abs((int)(millisecond/(1000 * 60)));
case 2: // hour
return Math.abs((int)(millisecond/(1000 * 60 * 60)));
case 3: // day
return Math.abs((int)(millisecond/(1000 * 60 * 60 * 24)));
}
}catch(Exception e){
e.printStackTrace();
}
return hours;
}
这个函数的好处在于:
1. 起至日期先后关系可以变化,返回的时间差是绝对值
2. 提供多种日期时间差