Calendar对象获取当前周的bug

项目场景:

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


问题描述

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


原因分析:

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

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


解决方案:

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

相关推荐
Java后端的Ai之路43 分钟前
【JDK】-JDK 21 新特性内容
java·开发语言·后端·jdk·jdk21
冬奇Lab2 小时前
应用异常退出实战分析:一次"幽灵杀手"引发的车载系统故障排查
android·性能优化·debug
普通网友2 小时前
PHP语言的正则表达式
开发语言·后端·golang
黎雁·泠崖2 小时前
Java常用类核心详解(七):正则表达式 Regex 从入门到实战
java·开发语言·正则表达式
sheji34163 小时前
【开题答辩全过程】以 婚纱影楼管理系统为例,包含答辩的问题和答案
java·eclipse
LuDvei3 小时前
LINUX文件操作函数
java·linux·算法
葵续浅笑4 小时前
从Spring拦截器到Filter过滤器:一次报文修改加解密的填坑经验
java·后端·spring
J2虾虾4 小时前
Spring Boot中使用@Scheduled做定时任务
java·前端·spring boot
snakeshe10104 小时前
Java集合框架深度解析:核心类库与实战应用
后端