`

一个根据时间段获取时间的集合

阅读更多

     在程序中有时候这样的情况就是获取时间段中的时间集合进行处理,这几天做了一个excel导出,根绝时间段查询生成不同的天数标题数据。

 

       相对来说比较准确。

 

 

 

/**
	 * 获得两个日期(字符串)之间的所有日期
	 * 
	 * @param start_date
	 *             String 开始日期 EX:“20120101” 强制输入参数
	 * @param end_date
	 *             String 结束日期 EX:“20120102” 强制输入参数
	 * @return
	 */
	public static List<String> getDatesBetween2Date(String start_date, String end_date) {
		List<String> result = new ArrayList<String>();
		try {
			start_date = StringUtils.trim(start_date);
			end_date = StringUtils.trim(end_date);
			if (StringUtils.isEmpty(start_date) || StringUtils.isEmpty(end_date)) {
				return result;
			}

			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
			int recAfter = diffDate(sdf.parse(end_date), sdf.parse(start_date));
			if (recAfter < 0) {
				String temp = start_date;
				start_date = end_date;
				end_date = temp;
				recAfter = -1 * recAfter;
			}
			result.add(start_date);
			String tempStart_date = new String(start_date.getBytes("UTF-8"), "UTF-8");
			while (recAfter > 0) {
				tempStart_date = DateUtil.turnDate(tempStart_date, "yyyyMMdd", 1);
				result.add(tempStart_date);
				recAfter--;
			}

		}
		catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}





	public static String turnDate(String showDate, String format, int interDay) {
		// 日期加指定天数
		Calendar cal = Calendar.getInstance();
		Date tempDate_001 = DateUtil.parseDate(showDate, format);
		if (null == tempDate_001) {
			return null;
		}
		cal.setTime(tempDate_001);
		cal.add(Calendar.DAY_OF_MONTH, interDay);
		String next = DateUtil.formatDate(cal.getTime(), format);
		return next;
	}

 

 

 

 写个main方法调用:

 

 

System.out.println(DateUtil.getDatesBetween2Date("20120101", "20120104"));

 

 

 

 

返回的是一个 list集合:  20120101、 20120102 、 20120103、 20120101 这样的集合。

分享到:
评论

相关推荐

    获取两个日期之间的日期集合

    获取两个日期之间的日期集合 如:2018-01-01和2018-60-01之间的所有日期集合,返回list&lt;Date&gt;

    java获取一个时间段的开始和结束时间(秒或毫秒级)

    java获取某个时间段的秒值或毫秒值集合

    SQL Server 查询两个日期之间的所有月份

    SQL Server 查询两个日期之间的所有月份示例

    评论抓取 asp.net编写 内含详细示例 数据抓取 .net C#

    评论抓取 asp.net编写 内含详细示例 数据抓取 .net C#

    meteor-collection-scroller:一个使用部分订阅从包含*许多*文档的集合动态加载内容的库

    meteor 的人在一段时间后关闭了该应用程序,因此请在加入后等待一分钟以获取所有记录完全加载)。 滚动条一次加载 80 个,当您滚动时,将自动重新订阅不同的 80 个。虽然表格是由库生成的,但表格、行和每个单元格上...

    Excel VBA实用技巧大全 附书源码

    01015获取在Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小...

    技术图文:集合技术在求解算法题中的应用

    前段时间,在知识星球立了一个Flag,这是总结Leetcode刷题的第四篇图文。 理论部分 HashSet C# 语言中 HashSet 是包含不重复项的无序列表,称为“集合(set)”。由于set是一个保留字,所以用HashSet来表示。 public...

    可视化Git存储库集合中的长期趋势。-Rust开发

    Fornalder Fornalder(“ Bygone Age”)是一个小型实用程序,可用于从git存储库集合中获取提交数据,并在Fornalder中对其进行可视化Fornalder(“ Bygone Age”)是一种小型实用程序,可用于从以下对象中获取提交...

    突现分析算法实现文档.pdf

    文本数据挖掘的一个基本问题是提取有意义的结构从随时间连续到达的文档流中获取。电子邮件和新闻文章这是这种流的两个自然例子,每个流的特征都是出现的主题,在一段时间内强烈增长,然后逐渐消失。已发表的文献在某...

    超级有影响力霸气的Java面试题大全文档

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别?  Java Bean 是可...

    java 面试题 总结

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...

    java常用工具类的使用

    格式化的目的是把一个对象以不同的格式表示,以满足不同环境对格式的要求,比如:前面学习的Date对象实质是一个以毫秒值表示的时间,但是在不同的国家和地区表示方式不一样。那么就需要对Date进行格式化处理。接下来...

    .各种基于 Go 语言实现的限流算法集合。.zip

    Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。...如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

    C#全能速查宝典

    1.3.6 foreach语句——枚举一个集合的元素 33 1.3.7 goto语句——跳转到标签 34 1.3.8 if…else语句——条件判断语句 36 1.3.9 return语句——返回 38 1.3.10 switch case语句——条件判断语句 39 1.3.11 throw语句...

    大数据的一个重要方面:数据可用性.docx

    在大数据信息集合表达中,每一个信息内容都不包含语义上的错误和数据之间的相互矛盾。 如果大数据所表达的信息中出现不一样的情况,则说明这个大数据就具有一定的危险性。举一个简单例子来说,如果同一个信用卡分别...

    Java-Generics-and-Collections-2:Java Generics and Collections Java泛型和集合

    将利用碎片时间进行整理和校对,完整的时间段适合做其他需要大量思考的事,如果你有兴趣欢迎提交PR。 TODO 数据校对 目录 2.4 获取和放置原则 2.5 数组 2.6 通配符与类型参数 2.7 通配符捕获 2.8 对通配符的限制 第...

    PerCM个人代码管理软件

    主要界面分为三个部分,一个是数据的获取,一个是数据的查阅(模仿陈灯),此外还包括一个配置界面。采用统一的标准的界面配置,加上一些个人控件的小玩意,保证高效和美观。 2013年1月29日8:12:54 这个程序,玩的...

    c#学习笔记.txt

    2. 在集合类中使用一个预定义的集合。 (2) throw 语句用于发出在程序执行期间出现反常情况(异常)的信号。throw 语句的形式为: throw [expression]; expression :异常对象。当在 catch 子句中再次引发当前异常...

Global site tag (gtag.js) - Google Analytics