java一个月日历

项目需要,获取当天之后的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 不多说了,自己复制自己测试吧

转载于:https://blog.51cto.com/13545923/2053333

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值