java - java - 如何使用Java 8中的每个月的LocalDate来获得每个月有多少个星期五?
问题描述
我想计算每个月可用的星期五总数。如何得到它?
1.代码
private static int getFridayCount(DayOfWeek dayOfWeek, LocalDate startDate) {
return //
}
解决方案
可能不是最快的,但我觉得这很容易理解:
public static int numberOfDaysOfWeekInMonth(DayOfWeek dow, YearMonth yearMonth) {
LocalDate startOfMonth = yearMonth.atDay(1);
LocalDate first = startOfMonth.with(TemporalAdjusters.firstInMonth(dow));
LocalDate last = startOfMonth.with(TemporalAdjusters.lastInMonth(dow));
return (last.getDayOfMonth() - first.getDayOfMonth()) / 7 + 1;
}
示例用法:
System.out.println(
numberOfDaysOfWeekInMonth(
DayOfWeek.FRIDAY, YearMonth.of(2020, 9)
)
); // outputs 4
推荐阅读
- python - 如何在结果中的两列之间获得相同的间距
- php - 无法访问视图内的刀片组件变量
- python - 提交流式 python 作业后,Shell 脚本不会进入下一步
- javascript - 如何以全屏模式打开链接(网页),javascript?
- javascript - JavaScript Leaflet - 将自定义图标图像添加到图层控件
- css - Unable to make element appear below others
- android - 亚行可访问性重点变更
- postgresql - How to number groups using window function in Postgresql?
- excel - Why doesn't Excel load VSTO add-ins upon reopening?
- python - 获取提取的 zip 的名称