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、控制台输出结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值