獲取指定年月的第一天與最后一天


package com.utils;

import java.util.*;
import java.text.SimpleDateFormat;

public class DateUtil {

    /**
     * 獲取指定年月的第一天
     * @param ym yyyy-MM
     * @return
     */
    public static String getFirstDayOfMonth(String ym) {
        String arr[] = ym.split("-");

        int year = Integer.parseInt(arr[0]);
        int month = Integer.parseInt(arr[1]);

        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 ym
     * @return
     */
    public static String getLastDayOfMonth(String ym) {
        String arr[] = ym.split("-");

        int year = Integer.parseInt(arr[0]);
        int month = Integer.parseInt(arr[1]);

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

    public static void main(String[] args) {
        System.out.println(getFirstDayOfMonth("2019-01"));
        System.out.println(getLastDayOfMonth("2019-01"));
    }
}

 


免責聲明!

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



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