Calendar对象获取当前周的bug

项目场景:

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


问题描述

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


原因分析:

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

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


解决方案:

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

相关推荐
升鲜宝供应链及收银系统源代码服务14 小时前
升鲜宝云仓供应链管理系统 数据库数据字典设计 (一)---升鲜宝生鲜配送供应链管理系统
java·生鲜配送源代码·供应链源代码·生鲜供应链源代码·企业erp源代码·云仓供应链管理系统
无限进步_14 小时前
【C++】AVL树完全解析:从平衡因子到四种旋转
c语言·开发语言·数据结构·c++·后端·算法·github
渐儿14 小时前
Claude Code 的 Hooks 系统
后端
Pkmer14 小时前
古法编程: 我要的是状态模式,策略模式不要误我大计
后端·设计模式
tenggouwa14 小时前
16GB Mac 同时开 3 个 Cursor 拯救我的mac
前端·后端
大厂数码评测员14 小时前
2026 年家庭菜谱记录工具怎么选:从功能边界和小程序代码实现看免费与付费差异
java·开发语言·apache
twc82914 小时前
从架构视角梳理全链路压测的核心业务链路
java·大数据·软件测试·架构·性能测试·全链路压测
Ehtan_Zheng14 小时前
Jetpack Compose 与 RecyclerView 混合布局的性能债
android
ltl14 小时前
激活函数:让网络「弯下来」的非线性魔法
后端
XS03010614 小时前
Java基础 set集合
java·开发语言