获取开始及结束日期间隔月份或年份列表
来源:互联网 发布:optical flow算法介绍 编辑:程序博客网 时间:2024/06/06 05:14
/** * 获取开始及结束日期间隔月份列表 * start格式 "2015-01-01" * end格式 "2016-01-01" * @param start * @param end * @return */public static List<String> getMonths(String start, String end) {List<String> dateList = new ArrayList<String>(); if (StringUtils.isNotBlank(start) && StringUtils.isNotBlank(end)) { Date dBegin = ToolDateTime.parse(start, ToolDateTime.pattern_ymd); Date dEnd = ToolDateTime.parse(end, ToolDateTime.pattern_ymd); Calendar calBegin = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calBegin.setTime(dBegin); int yearMonth1 = (calBegin.get(Calendar.YEAR)) * 100 + calBegin.get(Calendar.MONTH); Calendar calEnd = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calEnd.setTime(dEnd); int yearMonth2 = (calEnd.get(Calendar.YEAR)) * 100 + calEnd.get(Calendar.MONTH); // 测试此日期是否在指定日期之后 while (yearMonth2 >= yearMonth1) { dateList.add(ToolDateTime.format(calBegin.getTime(), ToolDateTime.pattern_ym)); calBegin.add(Calendar.MONTH, 1); yearMonth1 = (calBegin.get(Calendar.YEAR)) * 100 + calBegin.get(Calendar.MONTH); } } return dateList; }/** * 获取开始及结束日期间隔年份列表 * start格式 "2015-01-01" * end格式 "2016-01-01" * @param start * @param end * @return */public static List<String> getYears(String start, String end) {List<String> dateList = new ArrayList<String>();if (StringUtils.isNotBlank(start) && StringUtils.isNotBlank(end)) {Date dBegin = ToolDateTime.parse(start, ToolDateTime.pattern_ymd);Date dEnd = ToolDateTime.parse(end, ToolDateTime.pattern_ymd);Calendar calBegin = Calendar.getInstance();// 使用给定的 Date 设置此 Calendar 的时间 calBegin.setTime(dBegin);int year1 = calBegin.get(Calendar.YEAR);Calendar calEnd = Calendar.getInstance();// 使用给定的 Date 设置此 Calendar 的时间 calEnd.setTime(dEnd);int year2 = calEnd.get(Calendar.YEAR);// 测试此日期是否在指定日期之后 while (year2 >= year1) {dateList.add(ToolDateTime.format(calBegin.getTime(), "yyyy"));calBegin.add(Calendar.YEAR, 1); year1 = calBegin.get(Calendar.YEAR);}}return dateList;}
注:
工具类ToolDateTime.class没粘,把下面的改成自己的方法即可
public static final String pattern_ym = "yyyy-MM"; // pattern_ym
public static final String pattern_ymd = "yyyy-MM-dd"; // pattern_ymd
public static String format(Date date, String pattern) {
DateFormat format = new SimpleDateFormat(pattern);
return format.format(date);
}
public static Date parse(String date, String pattern) {
SimpleDateFormat format = new SimpleDateFormat(pattern);
try {
return format.parse(date);
} catch (ParseException e) {
log.error("ToolDateTime.parse异常:date值" + date + ",pattern值" + pattern);
return null;
}
}
0 0
- 获取开始及结束日期间隔月份或年份列表
- Oracle 根据时间段获取日期列表、月份列表、年份列表
- oracle获取某时间段内的年份、月份、日期列表
- oracle获取某时间段内的年份、月份、日期列表
- oracle获取某时间段内的年份、月份、日期列表
- oracle获取某时间段内的年份、月份、日期列表
- 获取当前年份、月份、日期
- java 获取当前年份 月份 日期
- java 获取当前年份 月份 日期
- java 获取当前年份 月份 日期
- java 获取当前年份 月份 日期
- Java 获取当前年份 月份 日期
- js获取当前日期时间/年份/月份
- PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
- select 设置下拉列表的选中项的值 显示当前日期 年份 月份 下拉列表获取当前日期
- 获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周(注意:月份从零开始)
- 获取当前日期上一周开始时间、结束时间和年份
- GO 获取时间的年份、月份以及日期
- 我的笔记
- Android SDK上手指南:Activity与生命周期
- EditText支持多行同时支持imeOptions设置
- js如何调用ocx控件
- oracle数据库的字符集更改(测试机上玩玩即可)
- 获取开始及结束日期间隔月份或年份列表
- Android SlidingMenu 使用详解
- 4种activity 的启动模式
- Linux 之 网络编程基础
- HDFS备注
- FragmentPagerAdapter刷新Fragment终极解决方案
- CodeForces 732D Exams
- 玩转Dragonboard 410c USB摄像头-人脸识别
- C/C++中“#”和“##”的作用和用法