获取指定年月的第一天和最后一天日期

public 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 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();
    }
  • 调用函数
int year = 2022;
int month = 08;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String firstDay = format.format(getFirstDay(year, month)) + " 00:00:00";
String lastDay = format.format(getLastDay(year, month)) + " 23:59:59";
posted @   萤火虫de光  阅读(330)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示