Calendar对象获取当前周的bug

项目场景:

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


问题描述

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


原因分析:

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

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


解决方案:

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

相关推荐
mldong11 小时前
工作流引擎的灵魂:状态机与 submitType
后端
年小个大13 小时前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
朦胧之14 小时前
Go 基础
后端·go
码农颜14 小时前
5.4.1 锁分类
java·数据库·mysql
lun14 小时前
Agent 工具调用成长史:理清楚 Function Calling、MCP、CLI 的关系
后端
Python私教14 小时前
Codex 自动写 Commit 够安全吗?一套证据化 Git 提交流程
人工智能·git·后端
Python私教14 小时前
AI Agent 上生产要不要开写权限?我把执行链拆成 4 道闸门
人工智能·后端·python
Android-Flutter14 小时前
为什么说ActivityThread是主线程?
android·kotlin
lun14 小时前
Claude Code 多 Agent 实现:subAgent & Agent Teams
后端
linux-hzh15 小时前
百日算法修炼 · Day 03
java·算法