gpt4 book ai didi

java - 在jodatime中计算一个月的周数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:05 25 4
gpt4 key购买 nike

jodatime是否可以计算一个月的周数?

我需要这样的东西:

月份:7 月

  • 第 27 周; 1-7。七月
  • 第 28 周; 9-14。七月
  • 第 29 周; 16-21。七月
  • 第 30 周; 23-31。七月

月份:8 月

  • 第 31 周; 1-4。八月
  • 第 32 周; 6-11。八月
  • 第 33 周; 13-18。八月
  • 第 34 周; 20-25。八月
  • 第 35 周; 27-31。八月

我知道我可以像这样在 joda 时间获得一年中的一周:

new LocalDate().weekOfWeekYear()

但我不知道如何获取相关日期。

最佳答案

要检索一周的范围,只需创建一个指向一周的第一天和最后一天的对象,然后从中提取月份的日期。

int weekOfYear = 32;

LocalDate firstDay = new LocalDate().withWeekOfWeekyear(weekOfYear).withDayOfWeek(1);
LocalDate lastDay = new LocalDate().withWeekOfWeekyear(weekOfYear).withDayOfWeek(7);

System.out.println("Week of Year "+weekOfYear+"; "+firstDay.toString("d MMM")+" - "+lastDay.toString("d MMM"));

你也可以像这样提取日期:

int weekStart = firstDay.getDayOfMonth();
int weekEnd = lastDay.getDayOfMonth();

然后您也可以使用相同的技术来检索一个月中的周数。

int firstWeekInMonth = new LocalDate().withMonthOfYear(month).withDayOfMonth(1).getWeekOfYear();
int lastWeekInMonth = new LocalDate().withMonthOfYear(month).dayOfMonth().withMaximalValue().getWeekOfYear();

您可能希望将开始日期和结束日期限制在月份范围内,否则您可能会得到诸如“9 月 30 - 5 日”之类的信息。

关于java - 在jodatime中计算一个月的周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11865123/

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