zoukankan      html  css  js  c++  java
  • 获取近一周,近两周,本月,上个月

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

      

  • 相关阅读:
    VMware coding Challenge: Coin Toss Betting
    Lintcode: k Sum II
    Lintcode: Interleaving Positive and Negative Numbers
    Lintcode: Insert Node in a Binary Search Tree
    Amazon OA
    Leetcode: Best Time to Buy and Sell Stock IV
    Leetcode: Reverse Words in a String II
    Leetcode: Repeated DNA Sequence
    Leetcode: Rotate Array
    VMware coding Challenge:Date of Weekday
  • 原文地址:https://www.cnblogs.com/likeyou1/p/8608493.html
Copyright © 2011-2022 走看看