Calendar对象获取当前周的bug

项目场景:

双周项目管理,需要获取当前周为一年之中的第几周,原先的代码是用Calendar对象,先用setTime()把当前时间传入,再用get(3)获取一年中的第几周


问题描述

实际发现会比真实的周少一点,且时间是周日到周六为一周


原因分析:

经排除发现,这个api的计算规则是有一定问题的。

首先它是以星期日为一周的开始,星期六为一周的结束。


解决方案:

获取当前年1号的星期几,再去用当前时间+星期几-1day得到一个时间,将这个时间传入setTime()中,get(3)得到的就是正常的当前周了

相关推荐
三少爷的鞋10 分钟前
代码越来越便宜,判断力越来越贵:AI 时代的 Android 架构与协程避坑指南
android
afumu31 分钟前
Go 写一个只监听 127.0.0.1 的控制服务:鉴权、白名单、危险命令拦截
后端·安全·go
文丑颜不良啊1 小时前
LeetCode2761~2780题目解析
java·leetcode
johnjincaaaa1 小时前
猿人学第 18 题「jsvmp 洞察先机」逆向通关实录
javascript·后端
用户4702784004051 小时前
C语言编译与链接
后端·开源
你三大爷2 小时前
从 Hessian 迁移到 protostuff:深嵌套模型反序列化耗时与高并发类加载锁的根治实战
后端·架构
IT枫斗者枫哥2 小时前
子线程断言失败,JUnit 为什么还显示通过?
java·后端
Gracker2 小时前
SmartPerfetto 1.19.0:换过分析引擎之后,这次更新了什么
android
stark张宇3 小时前
Vibe Coding 入门实战:用 Claude Code 跑通 AI 产品开发流程(上)
后端·claude·vibecoding
考虑考虑4 小时前
JDK27中的Set.ofLazy
java·后端·java ee