获取当前日期上一周开始时间、结束时间和年份

private Map<String, Object> getParams(String dateStr)
    {
        Map<String, Object> map = new HashMap<String, Object>();
        SimpleDateFormat sbf = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat sbf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar cal = Calendar.getInstance();
        // 当前年份
        int year = 0;
        // 年的周数
        int week_index = 0;
        // 周开始时间
        long start = 0L;
        // 周结束时间
        long end = 0L;
        try
        {
            cal.setTime(sbf.parse(dateStr));
            year = cal.get(Calendar.YEAR);
            week_index = cal.get(Calendar.WEEK_OF_YEAR);
            Date date = null;
            String s = "";
            // 获取上周周一的开始时间
            cal.add(Calendar.WEEK_OF_YEAR, -1);
            // 设置日期为周一
            cal.set(Calendar.DAY_OF_WEEK, 2);
            date = cal.getTime();
            s = sbf.format(date) + " 00:00:00";
            start = sbf1.parse(s).getTime() / 1000;
            // 获取上周周日结束时间
            cal.add(Calendar.WEEK_OF_YEAR, 1);
            // 设置日期为周日
            cal.set(Calendar.DAY_OF_WEEK, 1);
            date = cal.getTime();
            s = sbf.format(date) + " 23:59:59";
            end = sbf1.parse(s).getTime() / 1000;
        }
        catch (Exception e)
        {
            LOG.info(e.getMessage(), e);
        }
        map.put("year", year);
        map.put("week_index", week_index);
        map.put("week_start", start);
        map.put("week_end", end);
        return map;
    }
根据提供的引用内容,可以使用以下代码来根据年和周获取起止时间,其中周一为开始时间,周日为结束时间: ```javascript // 根据年和周获取起止时间,周一为开始时间,周日为结束时间 function getWeekRange(year, week) { // 计算指定年份的第一天 let firstDayOfYear = new Date(year, 0, 1); // 计算指定年份的第一周起始日期 let firstWeekStart = firstDayOfYear; let firstWeekEnd = new Date(firstDayOfYear.getTime() + (86400000 * (7 - firstDayOfYear.getDay()))); // 计算指定周的起始日期 let startOfWeek = new Date(firstWeekStart.getTime() + (86400000 * 7 * (week - 1))); // 计算指定周的结束日期 let endOfWeek = new Date(startOfWeek.getTime() + (86400000 * 6)); return { start: startOfWeek, end: endOfWeek }; } // 示例使用 let year = 2023; let week = 10; let weekRange = getWeekRange(year, week); let startDate = weekRange.start.toLocaleDateString(); let endDate = weekRange.end.toLocaleDateString(); console.log("起始时间:" + startDate); console.log("结束时间:" + endDate); ``` 这段代码中,我们定义了一个`getWeekRange`函数,它接受年份和周数作为参数,并返回一个包含起始时间结束时间的对象。我们首先计算指定年份的第一天和第一周起始日期,然后根据指定的周数计算出该周的起始日期结束日期。最后,我们使用`toLocaleDateString`方法将日期对象转换为字符串格式,并打印出起始时间结束时间。 使用示例中的年份和周数,我们可以得到以下结果: 起始时间:3/6/2023 结束时间:3/12/2023 请注意,这里的日期格式可能会根据不同的地区而有所不同。 #### 引用[.reference_title] - *1* *2* [JavaScript 实现获取当前时间的周开始日期和周结束日期](https://blog.csdn.net/weixin_41931274/article/details/120362298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [js根据当前时间获取本周一和本周日](https://blog.csdn.net/qq_30997503/article/details/125083852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值