java Calendar Date 獲取指定日期所在月或年的第一天和最后一天


一.獲取傳入日期所在月的第一天

    public static Date getFirstDayDateOfMonth(final Date date) {

        final Calendar cal = Calendar.getInstance();

        cal.setTime(date);

        final int last = cal.getActualMinimum(Calendar.DAY_OF_MONTH);

        cal.set(Calendar.DAY_OF_MONTH, last);

        return cal.getTime();

    }

二.獲取傳入日期所在月的最后一天

    public static Date getLastDayOfMonth(final Date date) {

        final Calendar cal = Calendar.getInstance();

        cal.setTime(date);

        final int last = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

        cal.set(Calendar.DAY_OF_MONTH, last);

        return cal.getTime();

    }

三.獲取傳入日期所在年的第一天

    public static Date getFirstDayDateOfYear(final Date date) {

        final Calendar cal = Calendar.getInstance();

        cal.setTime(date);

        final int last = cal.getActualMinimum(Calendar.DAY_OF_YEAR);

        cal.set(Calendar.DAY_OF_YEAR, last);

        return cal.getTime();

    }

四.獲取傳入日期所在年的最后一天

    public static Date getLastDayOfYear(final Date date) {

        final Calendar cal = Calendar.getInstance();

        cal.setTime(date);

        final int last = cal.getActualMaximum(Calendar.DAY_OF_YEAR);

        cal.set(Calendar.DAY_OF_YEAR, last);

        return cal.getTime();

    }

 五.獲取指定年月的第一天

/**
      * 獲取指定年月的第一天
      * @param year
      * @param month
      * @return
      */
     public static String getFirstDayOfMonth1(int year, int month) {     
         Calendar cal = Calendar.getInstance();   
         //設置年份
         cal.set(Calendar.YEAR, year);
         //設置月份 
         cal.set(Calendar.MONTH, month-1); 
         //獲取某月最小天數
         int firstDay = cal.getMinimum(Calendar.DATE);
         //設置日歷中月份的最小天數 
         cal.set(Calendar.DAY_OF_MONTH,firstDay);  
         //格式化日期
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         return sdf.format(cal.getTime());  
     }

 

六.傳入年和月,獲取到本月的最后一天

/**
     * 獲取指定年月的最后一天
     * @param year
     * @param month
     * @return
     */
     public static String getLastDayOfMonth1(int year, int month) {     
         Calendar cal = Calendar.getInstance();     
         //設置年份  
         cal.set(Calendar.YEAR, year);  
         //設置月份  
         cal.set(Calendar.MONTH, month-1); 
         //獲取某月最大天數
         int lastDay = cal.getActualMaximum(Calendar.DATE);
         //設置日歷中月份的最大天數  
         cal.set(Calendar.DAY_OF_MONTH, lastDay);  
         //格式化日期
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
         return sdf.format(cal.getTime());
     }

 


免責聲明!

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



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