Calendar对象获取当前周的bug

项目场景:

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


问题描述

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


原因分析:

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

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


解决方案:

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

相关推荐
Rust研习社几秒前
Rust 堆内存指针 Box 详解
开发语言·后端·rust
ffqws_3 分钟前
Spring Boot:用JWT令牌和拦截器实现登录认证(含测试过程和关键注解讲解)
java·spring boot·后端
jian110586 分钟前
Android studio gradle和插件的版本设置
android·ide·android studio
idolao9 分钟前
Android Studio 2022安装与汉化教程 Windows版:解压+管理员运行+自定义路径+SDK配置+中文插件指南
android·windows·android studio
小兔崽子去哪了18 分钟前
华为 IODT 设备接入
java·华为
摇滚侠21 分钟前
Groovy 如何给集合中添加元素
java·开发语言·windows·python
Java水解23 分钟前
Go语言中的Pool:对象复用的艺术
后端·go
2501_9151063224 分钟前
HTTP和HTTPS协议工作原理及安全性全面解析
android·ios·小程序·https·uni-app·iphone·webview
古阙月28 分钟前
嘉立创PCB设计初级总结
android·pcb工艺
无巧不成书021835 分钟前
Java异常体系与处理全解:核心原理、实战用法、避坑指南
java·开发语言·异常处理·java异常处理体系