0 0

java 求时间段补集20

定义一个完整时间段:2012-12-29 08:00:00至2012-12-29 20:59:59

    定义若干个被占用的时间段如:
    时间段1:2012-12-29 09:00:00 至 2012-12-29 10:30:00  
    时间段2:2012-12-29 15:00:00 至 2012-12-29 17:00:00
    .....................
    .....................
    在完整时间段基础上需求出剔除时间段1,2(已经被占用)的空闲时间段
2013年6月25日 16:18

1个答案 按时间排序 按投票排序

0 0

public List<DateSection> getDateSections(String startDate,String endDate,String limitStartDate,String limitEndDate){
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date startD;
		Date endD;
		Date limitStartD;
		Date limitEndD;
		List<DateSection> dsl = new ArrayList<DateSection>();
		try {
			startD = sdf.parse(startDate);
			endD = sdf.parse(endDate);
			limitStartD = sdf.parse(limitStartDate);
			limitEndD = sdf.parse(limitEndDate);
			
			if(limitStartD.before(startD)||limitEndD.after(endD)){
				throw new Exception();
			}
			
			DateSection ds = new DateSection(startD,limitStartD);
			dsl.add(ds);
			DateSection ds2 = new DateSection(startD,limitStartD);
			dsl.add(ds2);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return dsl;
	}



	class DateSection{
		private Date startDate;
		private Date endDate;
		public Date getStartDate() {
			return startDate;
		}
		public void setStartDate(Date startDate) {
			this.startDate = startDate;
		}
		public Date getEndDate() {
			return endDate;
		}
		public void setEndDate(Date endDate) {
			this.endDate = endDate;
		}
		public DateSection(Date endDate, Date startDate) {
			super();
			this.endDate = endDate;
			this.startDate = startDate;
		}
	}

2013年6月25日 17:05

相关推荐

    java求集合的并集、交集、补集、差集和对称差集

    写得比较简单,随便看看就好 该代码是离散数学的一些简单运算

    weblogic补丁安装

    3. 补丁安装过程中要保持耐心,因为它可能需要一段时间,尤其是对于大型或复杂的补丁集。 ### 确认安装结果 安装完成后,通过以下步骤确认补丁是否成功安装: 1. 在WebLogic管理控制台检查补丁列表,新补丁应该...

    自然语言句法词法分析器Java版

    总的来说,这个"自然语言句法词法分析器Java版"项目为中文自然语言处理提供了一套实用的工具集,不仅有助于学术研究,还能促进各种AI应用的开发。通过深入研究其源码和文档,开发者可以提升自己在自然语言处理领域的...

    jdk1.8_20版本共享

    5. **Date和Time API的增强**:Java 8引入了全新的java.time包,提供了更为强大和直观的日期、时间和时区处理能力,替代了之前饱受诟病的java.util.Date和java.util.Calendar。 6. **Optional类**:Optional是一个...

    jdk8u211-linux-x64

    总的来说,JDK 1.8 Update 211是Java 8开发环境中不可或缺的一部分,它为开发者提供了强大的工具集和改进的API,同时保持了对旧版本的兼容性。对于使用Linux x64系统的开发者来说,这个版本的JDK是进行Java开发的...

    OpenJDK12U-jdk_x64_windows_hotspot_12.0.1_12.zip

    OpenJDK是Java技术的核心组成部分,包括了Java运行时环境(JRE)和Java开发工具集(JDK)。AdoptOpenJDK是一个致力于提供预编译OpenJDK二进制版本的组织,他们的目标是提供可靠的、经过全面测试的OpenJDK构建,确保...

    基于拓扑排序的排课程序

    在排课场景中,BFS可能更为合适,因为它可以尽量平均地分配课程到各个时间段。 2. **队列**和**栈**:在BFS中,队列用于存储待访问的节点;而在DFS中,栈则用于记录当前的访问路径。 3. **并查集**或**邻接矩阵/...

    智能手表接口文档

    25. **免打扰时间段设置** - 目的:设置免打扰模式的工作时间。 26. **找手表指令** - 目的:触发智能手表发出声音,以便用户寻找。 27. **短语显示设置指令** - 目的:设置智能手表屏幕显示的短语。 28. **闹钟...

    weblogic10.0.36 windows linux 64位安装手册以及问题解决,性能优化合集

    WebLogic Server是Oracle公司的一款企业级Java应用服务器,主要用于运行和管理Java EE应用程序。本合集专注于WebLogic Server 10.0.36在Windows和Linux 64位环境下的安装、问题解决及性能优化,以下是相关知识点的...

    mysql 驱动jar包

    这段代码展示了如何加载驱动,建立连接,创建Statement对象执行SQL查询以及处理结果集。请确保替换"localhost:3306", "mydatabase", "username"和"password"为实际的数据库地址、端口、数据库名、用户名和密码。 ...

    XP系统下文件夹详细介绍集.doc

    Windows XP作为一款经典的操作系统,在很长一段时间内占据了PC市场的主导地位。对于Windows XP系统的深入理解不仅有助于提高工作效率,还能帮助用户更好地管理和维护自己的计算机。本文将详细介绍Windows XP系统中的...

    idea插件包.rar

    描述中提到,这个插件包在某段时间前已在CSDN(中国最大的开发者社区)上被讨论,并且用户反馈良好。此外,有群友再次提及这个插件包,表明它具有一定的实用价值和社区认可度,可能包含了一些受欢迎的、能够提高开发...

    基于ssm+mysql的超市管理系统源码数据库.doc

    3. **MyBatis**:是一个优秀的持久层框架,简化了SQL语句的编写和结果集的映射,提高了数据访问层的开发效率。 4. **MySQL**:作为数据库管理系统,用于存储超市的各种数据,包括商品信息、销售记录、库存状态等。 ...

    OEC:OEC 2015 卡尔顿

    标题"OEC:OEC 2015 卡尔顿"提到了一个名为"OEC"的项目,可能是某个软件、框架或者数据集,且关联到2015年的卡尔顿(Carlton)版本。这可能是一个年度更新或者特定地点的版本,暗示了该项目在时间或地理上的特定性。...

    frm10gnewfeatures.pdf

    通过预先加载常用资源和组件,可以在用户请求之前准备好运行环境,从而减少等待时间并提升用户体验。 ##### URL 安全性 为了进一步增强安全性,Oracle Forms 10g 提供了 URL 安全特性。该特性允许开发者控制通过 ...

    Install Oracle Db in Windows XP

    8. **安装过程**:这可能需要一段时间,取决于你的系统性能。安装过程中不要关闭计算机。 9. **完成**:安装完成后,启动Oracle Universal Installer(OUI)的Post-Install步骤,如创建数据库、启动服务等。 在...

    软件工程实践者的研究方法(第七版)课后习题答案

    * 用户对设计者问的问题:目前问题有哪些解决方案,项目完成有哪些难点,在时间范围内能否完成? 2.2 沟通活动设计 * 选定一系列动作,设计任务集,例如需求获取、需求规范说明、需求协商、需求确认等。 2.7 瀑布...

    apache-jmeter-2.10

    - 常规负载测试:设定稳定的并发用户数,持续一段时间,检测系统的稳定性和响应时间。 - 长期运行测试:模拟长时间运行,检查系统在高负载下的耐久性。 6. **JMeter 2.10 版本的改进与更新**: - 此版本可能包含...

Global site tag (gtag.js) - Google Analytics