递归,详细自己写Date d = get2workDayAgo(now, 2);public Date get2workDayAgo(Date today, int minus) { if (minus == 0) return today if (today is 周日 || today is 周六 || today is 法定假日) return get2workDayAgo(today-1, minus) return get2workDayAgo(today - 1, minus - 1) }
Calendar now = GregorianCalendar.getInstance();
now.add(Calendar.DAY_OF_MONTH , -5);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(now.getTime()));
System.out.println(now.get(Calendar.DAY_OF_WEEK));
System.out.println(now.get(Calendar.DAY_OF_MONTH));
if (minus == 0)
return today
if (today is 周日 || today is 周六 || today is 法定假日)
return get2workDayAgo(today-1, minus)
return get2workDayAgo(today - 1, minus - 1)
}
function(Calendar calendar) {
if(周六 == calendar || 周日 == calendar) {
return calendarArray[5];
}
return calendarArray[getCalendarIndexInArray(calendar)-2];
}
public static Calendar[] calendarArray = new Calendar[]{上周三,上周四,上周五,周一,周二,周三,周四,周五,周六,周日};
function(Calendar calendar) {
if(周日 == calendar) {
return calendarArray[5];
}
return calendarArray[getCalendarIndexInArray(calendar)-3];
}刚贴错了,纠正一下~
public static void main(String args[]){
final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五","星期六" };
Calendar calendar = Calendar.getInstance();
Date date = new Date();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;
if(dayOfWeek <0)dayOfWeek=0;
System.out.println("Today is:"+dayNames[dayOfWeek]);
if(dayNames[dayOfWeek].equals("星期日")||dayNames[dayOfWeek].equals("星期二")){
calendar.add(Calendar.DAY_OF_MONTH, -3);
}
else if(dayNames[dayOfWeek].equals("星期一")){
calendar.add(Calendar.DAY_OF_MONTH, -4);
}
else{
calendar.add(Calendar.DAY_OF_MONTH, -2);
}
System.out.println(calendar.getTime());
}
帮忙看看 这个行不行
int week = today.get(Calendar.DAY_OF_WEEK);
int rq = today.get(Calendar.DAY_OF_MONTH);
//如果是周一、周二、周三,需要减去四天
if(week==2 || week==3 || week==4){
week = week-5;
rq = rq-5;
}
//如果是周六,需要减去三天
else if(week == 1){
week = week-4;
rq = rq-4;
}else{
week = week-3;
rq = rq-3;
}
//如星期处理
week= week<0?week+7:week;
System.out.println("今天是" + rq + "号,星期" + (week-1));
public static void main(String[] args) {
Date date=new Date();
Calendar ca=Calendar.getInstance();
ca.setTime(date);
System.out.println(ca.get(Calendar.YEAR)+"-"+(ca.get(Calendar.MONTH)+1)+"-"+ca.get(Calendar.DAY_OF_MONTH));
for(int i=0;i<2;){
ca.add(Calendar.DAY_OF_MONTH, -1);
if(ca.get(Calendar.DAY_OF_WEEK)!=7 && ca.get(Calendar.DAY_OF_WEEK)!=1)
i++;
}
System.out.println(ca.get(Calendar.YEAR)+"-"+(ca.get(Calendar.MONTH)+1)+"-"+ca.get(Calendar.DAY_OF_MONTH));
}
int week = today.get(Calendar.DAY_OF_WEEK);
int rq = today.get(Calendar.DAY_OF_MONTH);
//如果是周一、周二、周三,需要减去四天
if(week==2 || week==3 || week==4){
week = week-5;
rq = rq-5;
}
//如果是周六,需要减去三天
else if(week == 1){
week = week-4;
rq = rq-4;
}else{
week = week-3;
rq = rq-3;
}
//如星期处理
week= week<0?week+7:week;
System.out.println("今天是" + rq + "号,星期" + (week-1));