gpt4 book ai didi

Java 时间 : Get max number of weeks for particular year

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:39 24 4
gpt4 key购买 nike

我只找到了 Joda Time 的解决方案.

只有当最后一天不在第一周时,我的解决方案才有效:

LocalDate.now() // or any other LocalDate
.withDayOfMonth(31)
.withMonth(12)
.get(weekFields.weekOfWeekBasedYear())

那么在 Java Time 中(比如在 Joda Time 中)正确的方法是什么?

最佳答案

此信息可直接使用 java.time.* API 获得。

关键方法是rangeRefinedBy(Temporal)TemporalField 上。它允许您获得一个 ValueRange 对象,该对象提供字段的最小值和最大值,由传入的时间对象细化。

要找出一年中有多少个 ISO 周,请执行以下操作:

LocalDate date = LocalDate.of(2015, 6, 1);
long weeksInYear = IsoFields.WEEK_OF_WEEK_BASED_YEAR.rangeRefinedBy(date).getMaximum();
System.out.println(weeksInYear);

请注意,您输入的日期用于确定答案。因此,在 1 月初或 12 月底传递日期时,请确保您了解 ISO 基于周的日历的工作原理,以及日历年和基于周的年份之间的区别。

关于Java 时间 : Get max number of weeks for particular year,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44197872/

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