1. 程式人生 > >獲取近一周,近兩周,本月,上個月

獲取近一周,近兩周,本月,上個月

nth ava @override model for cal post del instance

    @RequestMapping(value = "/date", method = RequestMethod.GET)
    public String agentHouseClick(DataRangRequest dataRangRequest,Model model){
        
        String[] days = dataRangService.computeTimeRange(dataRangRequest.getTimeRange());
		model.addAttribute("days",days);
        return "xxx";
    }
	public interface DataRangService {
  
      String[] computeTimeRange(Integer timeRange);
   
    }

	@Service
	public class DataRangServiceImpl implements DataRangService {
		@Override
		public String[] computeTimeRange(Integer timeRange){
			Calendar startTime = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
			Calendar endTime = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
			if(timeRange==1){   //近一周
				startTime.add(Calendar.DATE,-7);
				return computeDate(startTime,endTime);
			}else if(timeRange==2){ //近二周
				startTime.add(Calendar.DATE,-14);
				return computeDate(startTime,endTime);
			}else if(timeRange==3){ //本月
				startTime.set(Calendar.DAY_OF_MONTH,1);
				return computeDate(startTime,endTime);
			}else if(timeRange==4){ //上個月
				startTime.add(Calendar.MONTH,-1);
				startTime.set(Calendar.DAY_OF_MONTH,1);
				endTime.set(Calendar.DAY_OF_MONTH,0);
				return computeDate(startTime,endTime);
			}
			return null;
		}
		private String[] computeDate(Calendar startTime,Calendar endTime){
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			String day = sdf.format(startTime.getTime());
			List<String> days = new LinkedList<>();
			days.add(day);
			do{
				startTime.add(Calendar.DAY_OF_YEAR,1);
				days.add(sdf.format(startTime.getTime()));
			}while(!(startTime.get(Calendar.YEAR)==endTime.get(Calendar.YEAR)&&startTime.get(Calendar.MONTH)
			==endTime.get(Calendar.MONTH)&&startTime.get(Calendar.DAY_OF_MONTH)==endTime.get(Calendar.DAY_OF_MONTH)));
			String[] dayArr = days.toArray(new String[0]);
			return dayArr;
		}
	}

  

獲取近一周,近兩周,本月,上個月