public class ABC { public static void main(String[] args) throws ParseException { String begin = "2011-02-02"; String end = "2011-03-23"; int step = 30; List<String> list = getJulianDays(begin, end, step); for (String date : list) { System.out.println(date); } } private static List<String> getJulianDays(String beginDate, String endDate, int step) throws ParseException { List<String> dateList = new ArrayList<String>(); Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd"); Date start = sdf.parse(beginDate); int end = Integer.parseInt(sdf2.format(sdf.parse(endDate))); cal.setTime(start); while (Integer.parseInt(sdf2.format(cal.getTime())) <= end) { dateList.add(sdf.format(cal.getTime())); cal.add(Calendar.DATE, step + 1); } return dateList; } }
测试两个日期之间的需要获取的数据
结果:
2011-02-02 2011-03-05