//获取某一天一周内所有的日期
List<Object> list= getWeekDays(startTime,"yyyy-MM-dd",true);
listWeek=list;
public static List<Object> getWeekDays(String date,String dateFormat,boolean isChina) throws ParseException{
List<Object> list = new ArrayList<Object>();Calendar c = Calendar.getInstance(Locale.CHINA);
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
c.setTime(sdf.parse(date));
int currentYear=c.get(Calendar.YEAR);
int weekIndex = c.get(Calendar.WEEK_OF_YEAR);
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
if(dayOfWeek==1&&isChina){
c.add(Calendar.DAY_OF_MONTH,-1);
String date_str = sdf.format(c.getTime());
list=getWeekDays(date_str,dateFormat,isChina);
}
else{
c.setWeekDate(currentYear, weekIndex, 1);
for(int i=1;i<=7;i++){
c.add(Calendar.DATE, 1);
String date_str = sdf.format(c.getTime());
list.add(date_str);
}
}
return list;
}
//日期加减
DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式化的格式
String upStartTime = startTime;// 需要加减的字符串型日期
String upEndTime = endTime;
Date upStartDate = format.parse(upStartTime);// 把字符串转化成指定格式的日期
Date upEndDate = format.parse(upEndTime);// 把字符串转化成指定格式的日期
Calendar calendar_up = Calendar.getInstance(); // 使用Calendar日历类对日期进行加减
Calendar calendar_down = Calendar.getInstance();
calendar_up.setTime(upStartDate);// 计算周一日期
calendar_down.setTime(upEndDate);// 计算周末日期
//计算上一周下一周的开始日期和结束日期
if (modifyState.equals("t_up")) {
calendar_up.add(Calendar.DAY_OF_MONTH, -7);
calendar_down.add(Calendar.DAY_OF_MONTH, -7);
upStartDate = calendar_up.getTime();
upEndDate = calendar_down.getTime();
}
//计算上一周下一周的开始日期和结束日期
if (modifyState.equals("t_down")) {
calendar_up.add(Calendar.DAY_OF_MONTH, 7);
calendar_down.add(Calendar.DAY_OF_MONTH, 7);
upStartDate = calendar_up.getTime();
upEndDate = calendar_down.getTime();
}
startTime = format.format(upStartDate);
endTime = format.format(upEndDate);