博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java一个月日历
阅读量:6501 次
发布时间:2019-06-24

本文共 1630 字,大约阅读时间需要 5 分钟。

项目需要,获取当天之后的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/2053393

你可能感兴趣的文章
html绝对定位重叠,HTML_firefox下绝对定位元素重叠造成不可点击问题,重构地图网站过程中碰到的,f - phpStudy...
查看>>
ps切图教程 android,PS前端切图完整教程
查看>>
html显示服务器状态,显示服务器时间并一直显示(html代码)
查看>>
在线html代码优化,网站seo优化html代码方法
查看>>
HTML如何把输入框变成必填值,required输入框为必填项
查看>>
在html中哪一个不是链接的目标属性,HTML试题
查看>>
android otg 挂载流程,android USB OTG功能如何打开及实现
查看>>
html属性board,pin_board.html
查看>>
html定位有几种,POSITION定位有哪几种?各有什么特点?
查看>>
背锅侠逆袭之路
查看>>
演示:使用协议分析器取证IPv6的报文结构
查看>>
oracle 11gr2 rac中的4种IP解说
查看>>
为什么你找不到工作?
查看>>
20 个免费的 jQuery 的工具提示插件:
查看>>
只有在北方的中国帝国能力享受免费的商业课程:财富规划法与愿景
查看>>
汇编语言的应用
查看>>
device platform 相应的表
查看>>
php des 加密解密实例
查看>>
【Mac】Mac键盘实现Home, End, Page UP, Page DOWN
查看>>
实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求
查看>>