项目需要,获取当天之后的30天,并提示星期几(周几),写了一个工具类

/** * 计算日期时间 * @author shijing * 2015年8月10日下午2:16:09 * @param date 传入的需要计算的日期 * @param timeWay 计算方式(年、月、周、日) * @param num 加减的数量,可传入负数变减法(XXX之后) * @return */ public static Date calculateDate(Date date ,int timeWay ,int num){ Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(timeWay, num); return cal.getTime(); }

/**
 * 格式化计算好的日期,返回格式:yyyy-MM-dd
 * @author shijing
 * 2015年8月10日下午2:20:22
 * @param date		传入的需要计算的日期
 * @param timeWay	计算方式(年、月、周、日)
 * @param num		加减的数量,可传入负数变减法(XXX之后)
 * @return
 */
public static String calculateDateToString(Date date ,int timeWay ,int num){
	return dateToString(calculateDate(date, timeWay, num), DATE_FORMAT_3);
}

/**
 * 获取指定日期是星期几
 * @author shijing
 * 2015年8月10日下午2:44:44
 * @param date	指定日期
 * @return
 */
public static String getWeekOfDate(Date date) {      
    String[] weekOfDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};        
    Calendar calendar = Calendar.getInstance();      
    if(date != null){        
         calendar.setTime(date);      
    }        
    int w = calendar.get(Calendar.DAY_OF_WEEK) - 1;      
    if (w < 0){        
        w = 0;      
    }      
    return weekOfDays[w];    
}

上面的DATE_FORMT_3 其实就是一个格式字符串: "yyyy-MM-dd",或者其他格式你自己定

调用类: //生成当前日期和未来30天的日期集合 , i 从1 开始 Date currentDate = new Date(); List<DateBO> listDate = new ArrayList<DateBO>(); for (int i = 1; i <= DAYS; i++) { DateBO dateBo = new DateBO(); dateBo.setId(i); //获取计算之后的日期 dateBo.setScheduleDate(DateUtils.calculateDateToString(currentDate, Calendar.DATE, i)); //获取计算之后的日期的星期 dateBo.setWeekDay(DateUtils.getWeekOfDate(DateUtils.calculateDate(currentDate, Calendar.DATE, i))); listDate.add(dateBo); }

DateBO 里面的属性: id ,scheduleDate , weekDay 不多说了,自己复制自己测试吧