首页 > 代码库 > Java 根据当前时间获取明天、当前周的周五、当前月的最后一天

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();
    }

 

Java 根据当前时间获取明天、当前周的周五、当前月的最后一天