如何获取两个时间段中重合的部分
来源:互联网 发布:万得金融数据客户端 编辑:程序博客网 时间:2024/06/05 18:29
如何获取两个时间段中重合的部分
——如何获取两个数字区间重叠的部分
原理不说了,一看代码便知逻辑
package main.utill;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,日期前后未定,系统需要判断出这两个日期的前后顺序, 取出这两个日期的重合日期 */ /** * * @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-11-11 00:00:00"); Date ot = sdf.parse("2017-11-11 00:00:00"); // 目标时间 Date st = sdf.parse("2017-11-11 00:00:00"); Date ed = sdf.parse("2017-11-11 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(); } }}
有问题的同学可以直接Mail我或者评论区提问,随时跟大家沟通。
阅读全文
0 0
- 如何获取两个时间段中重合的部分
- 如何获取两个时间段中重合的部分
- java计算两个时间段的重合天数
- js判断两个时间段是否有重合部分(是否冲突)
- 判断两个时间段是否重合
- Oracle 两个时间段是否重合 冲突
- 获取两个时间段之间的月份
- 两个链表部分重合,求重合起始点
- 两个单向链表(表长不等)后半部分重合,怎么找到开始重合的那个节点
- mysql如何获取某个时间段的数据
- 在Oracle的SQL中,如何计算两个日期时间段的交集天数
- 求两条线段的重合部分
- java 时间段重合时间差
- 毕业设计至获取两个时间段时间的所有日期
- oracle 获取两个时间段的工作时长
- JS中两个数组去重合并
- 如何获取两个字符串中两个相同的字符
- 在C#中及时取出两个时间段的差值
- 《大象 Thinking in UML》学习笔记(二)——建模基础
- layer-弹框使用入门
- ServletContextAttributeListener属性监听、ServletContextListener监听 ServletContext 对象的生命周期
- Effective java第六条:消除过期的对象引用
- vue学习05--Vuejs中computed、methods、watch的区别[2]
- 如何获取两个时间段中重合的部分
- 关于abiFilters的使用
- TaskScheduler任务调度器抽象基类——Live555源码阅读(一)任务调度相关类
- 3-2 构造函数的调用
- android studio快捷键
- 从事项目管理的那点事儿
- 背景:Python半深入讲义
- 分辨率720p,VGA,QVGA,WVGA
- 计算机网络 基基础