Calendar对象获取当前周的bug

项目场景:

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


问题描述

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


原因分析:

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

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


解决方案:

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

相关推荐
有一个好名字4 分钟前
设计模式-工厂方法模式
java·设计模式·工厂方法模式
篱笆院的狗4 分钟前
Java 中线程之间如何进行通信?
java·开发语言
最贪吃的虎8 分钟前
MySQL调优 一:慢SQL日志
运维·数据库·后端·mysql
葱白有滋味10 分钟前
Session、Token 和 JWT 的区别对比
java
Thomas_YXQ11 分钟前
Unity3D的委托和事件的用法详解
java·开发语言
zwxu_14 分钟前
thread堆栈分析报告
java·微服务·消息队列·熔断
百***787514 分钟前
gpt-image-1.5极速接入指南:3步上手+图像核心能力解析+避坑手册
android·java·gpt
阿蒙Amon14 分钟前
C#每日面试题-值类型与引用类型区别
java·面试·c#
武子康19 分钟前
大数据-192 DataX 3.0 架构与实战:Reader/Writer 插件模型、Job/TaskGroup 调度、speed/errorLimit 配置速
大数据·分布式·后端