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