如何获取两个时间段中重合的部分
来源:互联网 发布:壳氏唯切菜板知乎 编辑:程序博客网 时间:2024/06/05 11:56
如何将两个时间段中重叠的部分给截取出来呢?
如何将两个数字区间中重叠的部分给获取到?
时间戳概念帮我们很好得解决这个问题,下面代码实现了具体的步骤
【撸代码,燥起来】
package main;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 如何获取两个时间段之间重合的部分
* @author <a href=
* 'http://www.wlgdo.com'>com.wlgdo</a>[wangligang<a>wlgchun@163.com</a>]
* @date 2017年5月14日
* @date 2017-05-14 21:54:18
*/
public class DateUtilz {
/*
* 需求描述: 现有两个日期段,格式是:yyyy-MM-dd HH:MM:ss,日期前后未定,系统需要判断出这两个日期的前后顺序,
* 取出这两个日期的重合日期
*/
/**
* TODO
* @author <a href="http://www.wlgdo.com">com.wlgdo</a>[<a href=
* 'wlgchun@163.com'>wangligang</a>]
* @date 2017-05-14 21:58:02
* @param args
* void
*/
public static void main(String[] args) {
getAlphalDate();
}
public static void getAlphalDate() {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 标准时间
Date bt = sdf.parse("2017-05-02 00:00:00");
Date ot = sdf.parse("2017-05-04 00:00:00");
// 目标时间
Date st = sdf.parse("2017-05-03 00:00:00");
Date ed = sdf.parse("2017-05-17 00:00:00");
long btlong = Math.min(bt.getTime(), ot.getTime());// 开始时间
long otlong = Math.max(bt.getTime(), ot.getTime());// 结束时间
long stlong = Math.min(st.getTime(), ed.getTime());// 开始时间
long edlong = Math.max(st.getTime(), ed.getTime());// 结束时间
// 具体算法如下
// 首先看是否有包含关系
if ((stlong >= btlong && stlong <= otlong) || (edlong >= btlong && edlong <= otlong)) {
// 一定有重叠部分
long sblong = stlong >= btlong ? stlong : btlong;
long eblong = otlong >= edlong ? edlong : otlong;
System.out.println("包含的开始时间是:" + sdf.format(sblong) + "-结束时间是:" + sdf.format(eblong));
return;
}
System.out.println("无重叠的时间段:{单身妹子看过来!}");
} catch (ParseException e) {
e.printStackTrace();
}
}
}
1 0
- 如何获取两个时间段中重合的部分
- 如何获取两个时间段中重合的部分
- java计算两个时间段的重合天数
- js判断两个时间段是否有重合部分(是否冲突)
- 判断两个时间段是否重合
- Oracle 两个时间段是否重合 冲突
- 获取两个时间段之间的月份
- 两个链表部分重合,求重合起始点
- 两个单向链表(表长不等)后半部分重合,怎么找到开始重合的那个节点
- mysql如何获取某个时间段的数据
- 在Oracle的SQL中,如何计算两个日期时间段的交集天数
- 求两条线段的重合部分
- java 时间段重合时间差
- 毕业设计至获取两个时间段时间的所有日期
- oracle 获取两个时间段的工作时长
- JS中两个数组去重合并
- 如何获取两个字符串中两个相同的字符
- 在C#中及时取出两个时间段的差值
- [PAT-乙级]1024.科学计数法
- [Mysql]数据操作语言(DML)
- Shell表达式中的 [ 和 [[ 的区别
- JAVA WEB前端入门和总结
- 数据挖掘机器学习之Ubantu14.04、Centos7环境下安装LightGBM
- 如何获取两个时间段中重合的部分
- idt hook 原版
- Navicat连接mysql
- Tomcat服务器的下载、安装、配置、启动、试用
- 【FastDFS】初步了解
- [PAT-乙级]1025.反转链表
- Linux内核之input输入子系统
- java Redis缓存加protostuff反序列实例
- 在线云评测系统日志二