业务需求:数据库有开始和结束时间,求这之间的连续月份
方法:
Calendar.getInstance()不仅能获取当前的时间,还能指定需要获取的时间点
public List<String> getMonthBetween(Date minDate, Date maxDate) {
ArrayList<String> result = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//格式化为年月
Calendar min = Calendar.getInstance();
Calendar max = Calendar.getInstance();
min.setTime(minDate);
min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);
max.setTime(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;
}
其中,传入的格式:2019-03-02
返回格式:2019-03-02