Frühere Geschichte Ich habe eine Methode entwickelt, um nach Premium Friday - Qiita zu fragen Ich habe eine Methode erstellt, um nach Premium Friday (Java 8-Version) zu fragen - Qiita Ich habe eine Methode zum Finden des Premium-Freitags mit einem Liner erstellt - Qiita
In Java 8 dachte ich, dass es besser wäre, "TemporalAdjuster" mit der Datums- und Zeit-API zu erstellen, und ich hatte es bereits.
package premium.friday;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
int[] years = {2017, 2018, 2019};
for (int year : years) {
for (int month = 1; month < 13; month++) {
if (year == 2017 && month == 1) {
continue;
}
YearMonth yearMonth = YearMonth.of(year, month);
LocalDate premiumFriday = yearMonth.atDay(1).with(TemporalAdjusters.lastInMonth(DayOfWeek.FRIDAY));
System.out.println(premiumFriday.format(DateTimeFormatter.ofPattern("yyyy/MM/dd(E)")));
}
}
}
}
TemporalAdjusters.lastInMonth(DayOfWeek.FRIDAY)
Sie können den letzten Freitag des Monats so wie er ist erhalten.
Ausführungsergebnis
2017/02/24(Geld)
2017/03/31(Geld)
2017/04/28(Geld)
2017/05/26(Geld)
2017/06/30(Geld)
2017/07/28(Geld)
2017/08/25(Geld)
2017/09/29(Geld)
2017/10/27(Geld)
2017/11/24(Geld)
2017/12/29(Geld)
2018/01/26(Geld)
2018/02/23(Geld)
2018/03/30(Geld)
2018/04/27(Geld)
2018/05/25(Geld)
2018/06/29(Geld)
2018/07/27(Geld)
2018/08/31(Geld)
2018/09/28(Geld)
2018/10/26(Geld)
2018/11/30(Geld)
2018/12/28(Geld)
2019/01/25(Geld)
2019/02/22(Geld)
2019/03/29(Geld)
2019/04/26(Geld)
2019/05/31(Geld)
2019/06/28(Geld)
2019/07/26(Geld)
2019/08/30(Geld)
2019/09/27(Geld)
2019/10/25(Geld)
2019/11/29(Geld)
2019/12/27(Geld)