//獲取前月的第一天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); //獲取當前月第一天: Calendar c = Calendar.getInstance(); String first = null;//第一天 String last = null;//第二天 //判斷獲取的參數如果為-1 if(month.equals("-1")){ c.add(Calendar.MONTH, -1); c.set(Calendar.DAY_OF_MONTH,1);//設置為1號,當前日期既為本月第一天 first = sdf.format(c.getTime()); //獲取上月的最后一天 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.DATE, -1); last = sdf.format(calendar.getTime()); }else{ c.add(Calendar.MONTH, 0); c.set(Calendar.DAY_OF_MONTH,1);//設置為1號,當前日期既為本月第一天 first = sdf.format(c.getTime()); //獲取當前月最后一天 Calendar ca = Calendar.getInstance(); ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); last = sdf.format(ca.getTime()); } //循環時間段 Date startDate = sdf.parse(first); Date endDate = sdf.parse(last); Calendar start = Calendar.getInstance(); start.setTime(startDate); Long statTime = start.getTimeInMillis(); Calendar end = Calendar.getInstance(); end.setTime(endDate); Long endTime = end.getTimeInMillis(); Long oneDay = 1000 * 60 * 60 * 24l; Long time = statTime; List timeList=new ArrayList(); while (time <= endTime) { Date d = new Date(time); DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); time += oneDay; timeList.add(df.format(d)); } //根據渠道ID查詢當前代理公司下有多少交易成功的單 String lastDate = null; if(month.equals("-1")){ //獲取這個時間段下一天 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.DATE, 0); lastDate = sdf.format(calendar.getTime()); }else{ Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.MONTH, 1); lastDate = sdf.format(calendar.getTime()); }
這是獲取時間,然后這個時間進行相加
比如
updateDate = "2016-11-9"
//得到保單狀態最后修改的時間
Date updateDate = tranCar.getDtUpdateDate();
//計算時間,+3天
Calendar calendar = Calendar.getInstance();
calendar.setTime(updateDate);
calendar.add(calendar.DATE,3);
//得出的結果
updateDate = "2016-11-12"
//獲取上個月25號的時間 private String setDayLastMonth(SimpleDateFormat format) { Calendar month = Calendar.getInstance(); month.add(Calendar.MONTH,-1); month.set(Calendar.DATE,25); String oneDayLastMonth = format.format(month.getTime()); return oneDayLastMonth; } //獲取當月的時間,這里時間不能超過當月25號 private String setDayBefore(SimpleDateFormat format) { Calendar cal = Calendar.getInstance();//獲取一個日歷 cal.add(Calendar.DAY_OF_MONTH, -1);//取當前日期的前一天. //當前時間 String today = format.format(Calendar.getInstance().getTime()); String theDayBefore = format.format(cal.getTime()); //比較時間大小 Date theDayBeforeDate = cal.getTime();//當前時間的前一天日期格式 Date todayDate = Calendar.getInstance().getTime();//當前時間日期格式 if(theDayBeforeDate.getTime() > todayDate.getTime()){ //默認日期只能為本月的24日 cal.set(Calendar.DATE,24); theDayBefore = format.format(cal.getTime()); } return theDayBefore; }