gpt4 book ai didi

Java 8 日期和时间 API : How to get count of ISO8601 weeks in given month?

转载 作者:搜寻专家 更新时间:2023-11-01 03:37:34 24 4
gpt4 key购买 nike

现在我只计算从第一个日期到最后一个日期的星期四的数量。是否有使用 Java 8 Date & Time API 的一线解决方案?我试过:

date.range(WeekFields.ISO.weekOfMonth()).getMaximum(); 

但它给出了不正确的结果,例如,对于 March,5,2014,它返回 5,而根据 ISO8601,3 月只有 4 周。

最佳答案

让我们将问题陈述为“给定月份有多少个星期四”?

(ISO-8601 没有描述一种在数月内持续数周的方法 - 它仅描述了在数年内持续数周的方法)。

我们可以使用该方法找到第 5 次出现的星期四,看看它是否在同一个月:

LocalDate date = ...
LocalDate fifthThu = date.with(TemporalAdjusters.dayOfWeekInMonth(5, THURSDAY));
int thursdays = (fifthThu.getMonth() == date.getMonth() ? 5 : 4);

关于Java 8 日期和时间 API : How to get count of ISO8601 weeks in given month?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26054823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com