java 某月的最后一天_Java获取某年某月的最后一天和第一天

本文介绍如何在Java中使用Calendar类获取指定年份和月份的第一天和最后一天。通过设置Calendar实例的年份和月份,并利用getActualMinimum()和getActualMaximum()方法获取每个月的起始和结束日期。示例代码详细展示了如何实现这一功能,并通过测试用例验证了正确性。
摘要由CSDN通过智能技术生成

在Java开发中,有时候需要根据指定月份查询本月开始到结束的数据,这就需要我们得到某月的第一天和最后一天,那如何实现呢?主要使用

java.util.Calendar;

getActualMinimum(Calendar.DAY_OF_MONTH);//获取第一天

getActualMaximum(Calendar.DAY_OF_MONTH);//最后一天

实现代码:

public static void getFirstAndLastDay(int year, int month) {

if(year < 0 || month < 1) {

return;

}

Calendar cal = Calendar.getInstance();

cal.set(Calendar.YEAR, year);

//Calendar月份从0开始

cal.set(Calendar.MONTH, month - 1);

//方便查看

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

//获取year年month月的开始一天

int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);

//设置Calendar为指定月份的第一天

cal.set(Calendar.DAY_OF_MONTH, firstDay);

//输出日期--指定月份第一天

System.out.println(year + "年" + month + "月的第一天:" + sdf.format(cal.getTime()));

//输出日期--指定月份最后一天

int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

cal.set(Calendar.DAY_OF_MONTH, lastDay);

System.out.println(year + "年" + month + "月的最后一天:" + sdf.format(cal.getTime()));

}

测试代码:

public static void main(String[] args) {

getFirstAndLastDay(2008, 2);

getFirstAndLastDay(2008, 3);

getFirstAndLastDay(2009, 2);

getFirstAndLastDay(2009, 3);

}

输出:

2008年2月的第一天:2008-02-01

2008年2月的最后一天:2008-02-29

2008年3月的第一天:2008-03-01

2008年3月的最后一天:2008-03-31

2009年2月的第一天:2009-02-01

2009年2月的最后一天:2009-02-28

2009年3月的第一天:2009-03-01

2009年3月的最后一天:2009-03-31

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值