码迷,mamicode.com
首页 > 其他好文 > 详细

获取近一周,近两周,本月,上个月

时间:2018-03-20 13:59:30      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:xxx   linked   star   ping   mod   cal   amp   nts   while   

    @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;
		}
	}

  

获取近一周,近两周,本月,上个月

标签:xxx   linked   star   ping   mod   cal   amp   nts   while   

原文地址:https://www.cnblogs.com/likeyou1/p/8608493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!