• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
山高我为峰
博客园    首页    新随笔    联系   管理    订阅  订阅
Java 根据当前时间获取明天、当前周的周五、当前月的最后一天

 

private Date getDateByType(Date date, Integer type) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        switch (type) {
        case 1:/* 日报 */
            // 明天的日期
            calendar.add(Calendar.DATE, 1);
            break;
        case 2:/* 周报 */
            // 获得当前日期是一个星期的第几天
            int dayWeek = calendar.get(Calendar.DAY_OF_WEEK);
            if (1 == dayWeek) {
                calendar.add(Calendar.DAY_OF_MONTH, -1);
            }
            // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
            calendar.setFirstDayOfWeek(Calendar.MONDAY);
            // 获得当前日期是一个星期的第几天
            int day = calendar.get(Calendar.DAY_OF_WEEK);
            int first = calendar.getFirstDayOfWeek();
            // 计算周五的日期
            calendar.add(Calendar.DAY_OF_WEEK, first - day + 4);
            break;
        case 3:/* 月报 */
            // 获取本月的最大天数
            int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
            // 设置创造新日期,这个日期是本月的最后一天
            calendar.set(Calendar.DATE, days);
            break;
        default:
            break;
        }
        return calendar.getTime();
    }

 

posted on 2016-12-27 12:33  山高我为峰  阅读(6526)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3