发送一个时间和要计算的天数如果day为正数就加几天如果为负数就算减几天。
public static String operDate1(String str,int day){ //str="2018-01-01" day = -1
Date date;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(str);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH,day);
return format.format(calendar.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
获取当天是星期几
//获取当天是星期几
public String getWeek(){ //这里没有传参数是获取的当天
String wkeen []={"7","1","2","3","4","5","6"};
Date today = new Date();
Calendar c= Calendar.getInstance();
c.setTime(today);
int weekday=c.get(Calendar.DAY_OF_WEEK);
return wkeen[weekday-1];
}
获取一地段时间中的某个星期
public static List isWeek(String start,String end,int week) throws ParseException {
SimpleDateFormat sdfd =new SimpleDateFormat("yyy-MM-dd");
Date startDate =sdfd.parse(start);
Date endDate =sdfd.parse(end);
int w [] ={0,2,3,4,5,6,7,1};
Calendar cal = Calendar.getInstance();
List list =new ArrayList();
Date date = startDate;
while(!date.equals(endDate)){
// System.out.println(date);
cal.setTime(date);
int weekday=cal.get(Calendar.DAY_OF_WEEK);//
if(w[week]==weekday){
list.add(date);
}
cal.add(Calendar.DATE,1);
date = cal.getTime();
}
return list;
}