Java获取指定月份的第一天和最后一天
1、创建测试类(DateTest5.java)
package com.jeff;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTest5 {
public static void main(String[] args) {
int year1 = 2019;
int month1 = 2;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(year1 + "年" + month1 + "月第一天:" + format.format(getFirstDay(year1, month1)));
System.out.println(year1 + "年" + month1 + "月最后一天:" + format.format(getLastDay(year1, month1)));
System.out.println("==============================");
int year2 = 2020;
int month2 = 2;
System.out.println(year2 + "年" + month2 + "月第一天:" + format.format(getFirstDay(year2, month2)));
System.out.println(year2 + "年" + month2 + "月最后一天:" + format.format(getLastDay(year2, month2)));
}
public static Date getFirstDay(int year, int month) {
// 获取Calendar类的实例
Calendar c = Calendar.getInstance();
// 设置年份
c.set(Calendar.YEAR, year);
// 设置月份,因为月份从0开始,所以用month - 1
c.set(Calendar.MONTH, month - 1);
// 设置日期
c.set(Calendar.DAY_OF_MONTH, 1);
return c.getTime();
}
public static Date getLastDay(int year, int month) {
// 获取Calendar类的实例
Calendar c = Calendar.getInstance();
// 设置年份
c.set(Calendar.YEAR, year);
// 设置月份,因为月份从0开始,所以用month - 1
c.set(Calendar.MONTH, month - 1);
// 获取当前时间下,该月的最大日期的数字
int lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
// 将获取的最大日期数设置为Calendar实例的日期数
c.set(Calendar.DAY_OF_MONTH, lastDay);
return c.getTime();
}
}
2、控制台输出结果
还没有评论,来说两句吧...