獲取指定年月的第一天與最後一天
阿新 • • 發佈:2021-11-01
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")); } }