为了账号安全,请及时绑定邮箱和手机立即绑定

获取某个日期的周数(从星期三开始的一周)

获取某个日期的周数(从星期三开始的一周)

茅侃侃 2021-06-10 15:37:06
LocalDate initial = LocalDate.now();DayOfWeek dayOfWeek = DayOfWeek.WEDNESDAY;WeekFields weekFields = WeekFields.of(dayOfWeek, 1);int weekNo = date.get(weekFields.weekOfWeekBasedYear());System.out.println("Week No"+weekNo);我在 2018 年 7 月 29 日使用上述代码。我预计第 30 周,但我得到 31。为了得到 30 的结果,我在这里错过了什么?
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

如果您根据ISO-8601预期输出,其中当前周是第 30周,则需要遵循以下操作:


根据 ISO-8601 标准的周数,从周一开始的周数。一年中的第一周是包含该年第一个星期四的那一周(='第一个 4 天周')。


这是由WeekFields.ISO.


如果相反,您希望一周从 开始WEDNESDAY,则只需将minimalDaysInFirstWeekfrom更改1为4(='First 4-day week'):


LocalDate date = LocalDate.now();

WeekFields weekFields = WeekFields.of(DayOfWeek.WEDNESDAY, 4);

int weekNo = date.get(weekFields.weekOfWeekBasedYear());

System.out.println("Week No " + weekNo);


查看完整回答
反对 回复 2021-06-17
  • 1 回答
  • 0 关注
  • 265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信