在程序中有时候这样的情况就是获取时间段中的时间集合进行处理,这几天做了一个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<Date>
思考时间通常是一个随机的时间段,用户在进行下一步操作前的等待时间是不固定的。在LoadRunner脚本中,可以通过设置脚本函数,例如lr_think_time函数,来模拟用户的思考时间。将思考时间加入到测试脚本中,可以让...
java获取某个时间段的秒值或毫秒值集合
本话题聚焦于C#如何获取照片的时间元数据,这是一个常见的需求,特别是在处理图像处理或者媒体管理相关的项目中。 照片中的时间信息通常存储在照片的元数据中,元数据是关于数据的数据,对于图片来说,它可能包含...
总的来说,这段代码是一个简单的VC6 MFC应用,通过调用Windows API获取系统时间,然后在对话框界面上显示,为用户呈现直观的时间信息。这种技术虽然古老,但对于学习Windows编程和理解MFC框架仍然具有参考价值。
`Calendar` 是一个抽象类,提供了更丰富的日期/时间操作,比如增加或减少日期字段,获取周几、月份等信息。 6. **定时器与倒计时**:虽然标题中提到了倒计时和定时器,但在提供的代码中并没有直接实现。在Java中,...
4. **查询时间范围**:一旦确定了报表的开始和结束时间,就可以构建SQL查询语句或者使用VB的集合筛选来获取相应时间段内的数据。例如,SQL查询可能类似于`SELECT * FROM 表名 WHERE 日期字段 BETWEEN 开始时间 AND ...
本文将详细讲解一个集成多种主流厂商推送框架的解决方案,适用于那些希望一次性解决多厂商推送问题的开发者。 首先,我们要讨论的是这个框架的核心功能:集成。它将小米推送、华为推送、OPPO推送、VIVO推送以及极光...
标题中的“获取键盘鼠标空闲时间实现智能关机”指的是一个使用Delphi编程语言开发的程序,该程序能够监测用户的键盘和鼠标活动,并在检测到一段时间内无任何输入(即设备空闲)后自动执行关机操作。这个功能通常用于...
CPU使用率是指在特定时间段内,处理器执行非空闲线程的时间比例。在Windows环境下,可以通过`GetProcessTimes`函数来获取进程的CPU时间。这个函数返回四个时间戳:创建时间、退出时间、用户模式时间以及系统模式...
对于时间段查询,我们需要构造一个SQL语句,包含WHERE子句来筛选指定日期范围内的记录。假设我们的表中有一个名为"DateTimeColumn"的日期时间字段,SQL语句可能如下: ```sql SELECT * FROM YourTableName WHERE...
综合上述内容,我们可以了解到,通过Google地图API获取地区经纬度信息是一个涉及网络编程、数据解析和地理知识的复杂过程。开发者在实际应用中需要按照Google地图API的文档进行编程,并根据业务需求灵活地处理和使用...
这里可以使用一个HashMap来存储数据,键是时间戳,值是一个ArrayList,包含该时间段内的所有照片。在初始化Adapter时,将HashMap转换为一个包含Section对象的列表,每个Section对象包含时间戳和对应的图片列表。 ...
在SQL Server中,查询两个日期之间的所有月份是一个常见的需求,特别是在数据分析、报表生成或时间序列分析等场景。本文将详细讲解如何使用SQL Server实现这一功能,以满足上述标题和描述中的要求。 首先,我们需要...
这个压缩包"**C#获取照片时间源码.rar.rar**"很可能包含了一个C#项目或代码示例,用于演示如何读取图片的元数据,特别是EXIF信息,从而提取出照片的拍摄时间。 首先,我们需要了解什么是EXIF(Exchangeable Image ...
每个`Field`对象都有一个`Type`属性,它表示字段的数据类型。 ```vba For Each fld In tdf.Fields Debug.Print "字段名:", fld.Name, "数据类型:", GetDataType(fld.Type) Next fld ' 定义一个函数,将DAO数据...
- **CPU占用率**表示一个进程或线程在一段时间内使用CPU的时间比例,通常以百分比表示。 - 高CPU占用可能意味着程序运行繁忙,也可能是资源争抢,甚至可能是死循环等问题。 3. **编程语言**: - 根据文件名推测...
总的来说,这个压缩包中的实例代码为我们提供了一个学习VBA如何获取用户操作控件起始时间的基础,通过对这段代码的研究和实践,我们可以更深入地理解VBA在Excel办公自动化中的应用,并进一步提升我们的工作效率。