根据 某年 及 该年多少周 获取日期对象

本文介绍了一种计算指定年份第n周最后一天日期的方法,并提供了一个获取任意日期所在周最后一天的具体实现。通过使用Java的Calendar类,可以方便地进行日期的计算与转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下方法 以一周最后一天为例。

    /**
     * 获取某年 第n周 最后一天的日期
     * @param year
     * @param week
     * @return
     */
    private static Date dategetLastDayOfWeek(int year, int week) {
        Calendar c = new GregorianCalendar(); 
        c.set(Calendar.YEAR, year);
        c.set(Calendar.MONTH, Calendar.JANUARY);
        c.set(Calendar.DATE, 1);

        Calendar cal = (GregorianCalendar) c.clone();
        cal.add(Calendar.DATE , week * 7);

        return getLastDayOfWeek(cal.getTime());
    }

    /**
    * 取得当前日期所在周的最后一天
    * 
    * @param date
    * @return
    */
    public static Date getLastDayOfWeek(Date date) {
        Calendar c = new GregorianCalendar();
        c.setFirstDayOfWeek(Calendar.MONDAY);
        c.setTime(date);
        c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
        return c.getTime();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值