有可能在jodatime中计算一个月的周数吗?
我需要这样的东西:
月:七月
月:八月
我知道我可以像这样在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"));
Run Code Online (Sandbox Code Playgroud)
您也可以像这样提取日期:
int weekStart = firstDay.getDayOfMonth();
int weekEnd = lastDay.getDayOfMonth();
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用相同的技术检索一个月内的周数.
int firstWeekInMonth = new LocalDate().withMonthOfYear(month).withDayOfMonth(1).getWeekOfYear();
int lastWeekInMonth = new LocalDate().withMonthOfYear(month).dayOfMonth().withMaximalValue().getWeekOfYear();
Run Code Online (Sandbox Code Playgroud)
可能你可能希望限制开始日期和结束日期保持在月份的范围内,否则你可能会得到像'30 - 9 Sep'这样的东西.
| 归档时间: |
|
| 查看次数: |
4316 次 |
| 最近记录: |