`

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

阅读更多

     在程序中有时候这样的情况就是获取时间段中的时间集合进行处理,这几天做了一个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;

    LoadRunner几个重要的概念:事务、集合点、思考时间

    思考时间通常是一个随机的时间段,用户在进行下一步操作前的等待时间是不固定的。在LoadRunner脚本中,可以通过设置脚本函数,例如lr_think_time函数,来模拟用户的思考时间。将思考时间加入到测试脚本中,可以让...

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

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

    C#获取照片时间源码

    本话题聚焦于C#如何获取照片的时间元数据,这是一个常见的需求,特别是在处理图像处理或者媒体管理相关的项目中。 照片中的时间信息通常存储在照片的元数据中,元数据是关于数据的数据,对于图片来说,它可能包含...

    VC6写的获取系统时间源码

    总的来说,这段代码是一个简单的VC6 MFC应用,通过调用Windows API获取系统时间,然后在对话框界面上显示,为用户呈现直观的时间信息。这种技术虽然古老,但对于学习Windows编程和理解MFC框架仍然具有参考价值。

    java时间操作大集合

    `Calendar` 是一个抽象类,提供了更丰富的日期/时间操作,比如增加或减少日期字段,获取周几、月份等信息。 6. **定时器与倒计时**:虽然标题中提到了倒计时和定时器,但在提供的代码中并没有直接实现。在Java中,...

    VB周报表 月报表 年报表时间段设置

    4. **查询时间范围**:一旦确定了报表的开始和结束时间,就可以构建SQL查询语句或者使用VB的集合筛选来获取相应时间段内的数据。例如,SQL查询可能类似于`SELECT * FROM 表名 WHERE 日期字段 BETWEEN 开始时间 AND ...

    Android-一个集合所有主流厂商的推送框架

    本文将详细讲解一个集成多种主流厂商推送框架的解决方案,适用于那些希望一次性解决多厂商推送问题的开发者。 首先,我们要讨论的是这个框架的核心功能:集成。它将小米推送、华为推送、OPPO推送、VIVO推送以及极光...

    获取键盘鼠标空闲时间实现智能关机

    标题中的“获取键盘鼠标空闲时间实现智能关机”指的是一个使用Delphi编程语言开发的程序,该程序能够监测用户的键盘和鼠标活动,并在检测到一段时间内无任何输入(即设备空闲)后自动执行关机操作。这个功能通常用于...

    Windows下用C语言获取进程cpu使用率

    CPU使用率是指在特定时间段内,处理器执行非空闲线程的时间比例。在Windows环境下,可以通过`GetProcessTimes`函数来获取进程的CPU时间。这个函数返回四个时间戳:创建时间、退出时间、用户模式时间以及系统模式...

    delphi 查询一段时间记录

    对于时间段查询,我们需要构造一个SQL语句,包含WHERE子句来筛选指定日期范围内的记录。假设我们的表中有一个名为"DateTimeColumn"的日期时间字段,SQL语句可能如下: ```sql SELECT * FROM YourTableName WHERE...

    地区经纬度信息获取(利用Google地图API获取)

    综合上述内容,我们可以了解到,通过Google地图API获取地区经纬度信息是一个涉及网络编程、数据解析和地理知识的复杂过程。开发者在实际应用中需要按照Google地图API的文档进行编程,并根据业务需求灵活地处理和使用...

    RecyclerView实现按时间分组手机相册效果

    这里可以使用一个HashMap来存储数据,键是时间戳,值是一个ArrayList,包含该时间段内的所有照片。在初始化Adapter时,将HashMap转换为一个包含Section对象的列表,每个Section对象包含时间戳和对应的图片列表。 ...

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

    在SQL Server中,查询两个日期之间的所有月份是一个常见的需求,特别是在数据分析、报表生成或时间序列分析等场景。本文将详细讲解如何使用SQL Server实现这一功能,以满足上述标题和描述中的要求。 首先,我们需要...

    C#获取照片时间源码.rar.rar

    这个压缩包"**C#获取照片时间源码.rar.rar**"很可能包含了一个C#项目或代码示例,用于演示如何读取图片的元数据,特别是EXIF信息,从而提取出照片的拍摄时间。 首先,我们需要了解什么是EXIF(Exchangeable Image ...

    access VBA获取字段的数据类型_accessVBA获取字段的数据类型_

    每个`Field`对象都有一个`Type`属性,它表示字段的数据类型。 ```vba For Each fld In tdf.Fields Debug.Print "字段名:", fld.Name, "数据类型:", GetDataType(fld.Type) Next fld ' 定义一个函数,将DAO数据...

    获取当前所有进程线程Cpu占用率

    - **CPU占用率**表示一个进程或线程在一段时间内使用CPU的时间比例,通常以百分比表示。 - 高CPU占用可能意味着程序运行繁忙,也可能是资源争抢,甚至可能是死循环等问题。 3. **编程语言**: - 根据文件名推测...

    Excel-VBA宏编程实例源代码-获取操作控件的起始时间.zip

    总的来说,这个压缩包中的实例代码为我们提供了一个学习VBA如何获取用户操作控件起始时间的基础,通过对这段代码的研究和实践,我们可以更深入地理解VBA在Excel办公自动化中的应用,并进一步提升我们的工作效率。

Global site tag (gtag.js) - Google Analytics