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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM