美文网首页
java计算两个时间段交集的毫秒数

java计算两个时间段交集的毫秒数

作者: 菜菜笛 | 来源:发表于2018-01-08 09:47 被阅读0次

/**
* 计算两时间段交集,注意时间起点和时间终点必须在同一天内
* @param start1 第一时间段 开始时间
* @param end1 第一时间段 结束时间
* @param start2 第二时间段 开始时间
* @param end2 第二时间段 结束时间
* @return 交集的毫秒数
*/
public static long countDateIntersection(Date start1 , Date end1 , Date start2 , Date end2){
SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss");
long s1 = 0;
long s2 = 0;
long e1 = 0;
long e2 = 0;
try {
//标准化到1970-01-01
s1 = sdf2.parse(sdf2.format(start1)).getTime();
s2 = sdf2.parse(sdf2.format(start2)).getTime();
e1 = sdf2.parse(sdf2.format(end1)).getTime();
e2 = sdf2.parse(sdf2.format(end2)).getTime();
} catch (ParseException e) {
e.printStackTrace();
}
if(!(s2>e1||s1>e2)){
long s = s1>s2?s1:s2;
long e = e1<e2?e1:e2;
return e-s;
}
return 0;
}

相关文章

网友评论

      本文标题:java计算两个时间段交集的毫秒数

      本文链接:https://www.haomeiwen.com/subject/tbmvnxtx.html