public static ArrayList<String> getDateStringList(Date date, Date endDate,int betweenNum,String formatString){
ArrayList<String> list = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
SimpleDateFormat df = new SimpleDateFormat(formatString);
String endtime = df.format(endDate);
list.add(df.format(calendar.getTime()));
if(betweenNum>0){
try {
while(df.parse(df.format(calendar.getTime())).getTime()<df.parse(endtime).getTime()){
calendar.add(Calendar.DATE, betweenNum); // 得到前一天
list.add(df.format(calendar.getTime()));
}
} catch (ParseException e) {
e.printStackTrace();
}
}else if(betweenNum<0){
try {
while(df.parse(df.format(calendar.getTime())).getTime()>df.parse(endtime).getTime()){
calendar.add(Calendar.DATE, betweenNum); // 得到前一天
list.add(df.format(calendar.getTime()));
}
} catch (ParseException e) {
e.printStackTrace();
}
}
return list;
}
public static void main(String[] args) {
//时间格式
String formatString = "yyyy-MM-dd";
// 前几天
int preDayNum = 100;
//间隔几天
int betweenNum = 1;
//从哪天开始
Date date = new Date();
Date endDate = new Date();
//设置从哪一天开始
SimpleDateFormat sdf = new SimpleDateFormat(formatString);
try {
date = sdf.parse("2012-01-01");
endDate = sdf.parse("2012-11-11");
} catch (ParseException e) {
e.printStackTrace();
}
// List保存日期
ArrayList<String> dateList = getDateStringList(date, endDate,betweenNum, formatString);
for (String obj : dateList) {
System.out.println(obj);
}
}