java获得两个日期之间的所有月份和所有
2017-11-11 09:05
429 查看
private static List<String> getMonthBetween(String minDate, String maxDate) throws ParseException { ArrayList<String> result = new ArrayList<String>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月 Calendar min = Calendar.getInstance(); Calendar max = Calendar.getInstance(); min.setTime(sdf.parse(minDate)); min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1); max.setTime(sdf.parse(maxDate)); max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2); Calendar curr = min; while (curr.before(max)) { result.add(sdf.format(curr.getTime())); curr.add(Calendar.MONTH, 1); } return result; }
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class SplitTime {
private static List<Date> dateSplit(Date startDate, Date endDate)
throws Exception {
if (!startDate.before(endDate))
throw new Exception("开始时间应该在结束时间之后");
Long spi = endDate.getTime() - startDate.getTime();
Long step = spi / (24 * 60 * 60 * 1000);// 相隔天数
List<Date> dateList = new ArrayList<Date>();
dateList.add(endDate);
for (int i = 1; i <= step; i++) {
dateList.add(new Date(dateList.get(i - 1).getTime()
- (24 * 60 * 60 * 1000)));// 比上一天减一
}
return dateList;
}
public static void main(String[] args) throws ParseException {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date start = sdf.parse("2015-4-20");
Date end = sdf.parse("2015-5-2");
List<Date> lists = dateSplit(start, end);
if (!lists.isEmpty()) {
for (Date date : lists) {
System.out.println(sdf.format(date));
}
}
} catch (Exception e) {
}
}
}
运行结果:
2015-05-02
2015-05-01
2015-04-30
2015-04-29
2015-04-28
2015-04-27
2015-04-26
2015-04-25
2015-04-24
2015-04-23
2015-04-22
2015-04-21
2015-04-20
相关文章推荐
- java获得两个日期之间的所有月份
- java获得两个日期之间的所有月份
- java+javascript获得两个日期之间的所有月份
- PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- 获得两个日期之间的所有日期
- js得到连两个时间段之间所有的年-月 获取当前日期 格式化日期 根据指定日期得到该日期该月份的最后一天
- 通过SQL语句来造出两个日期之间的所有月份
- java 实现两个日期之间所有日期的遍历
- 【oracle】获得两个日期之间的所有日期
- 获得两个日期之间的所有日期
- java获取两个日期之间的所有日期
- PHP获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- java得出两个日期之间所有日期
- PHP获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
- java-两个日期之间的所有日期
- javascript根据已知两个日期,获得两个日期之间的所有数据
- 获取两个日期之间的所有月份
- java 获取两个日期之间的所有天数
- 使用Java获取两个日期间所有月份的集合