Vendredi Premium qui a commencé le vendredi 24 février 2017. C'est un système avec des avantages et des inconvénients, mais c'est bien d'avoir plus de vacances quand même. Avez-vous tous quitté le bureau à 15h00 le premier vendredi premium? __ Je ne pouvais pas (´ ・ ω ・ `) __ Je ne pouvais même pas quitter le bureau à l'heure (´ ・ ω ・ `)
Alors (?) J'ai fait une méthode pour calculer la prime vendredi. Veuillez l'utiliser.
import java.util.Calendar;
public class PremiumFridayUtils {
/**
*Trouvez le jour Premium Friday du mois spécifié. Pendant des mois sans vendredi premium-Renvoie 1.
* @année param année(1..*)
* @mois param mois(1..12)
* @retour Premium vendredi jour du mois spécifié(1..31)
*/
public static int getPremiumFriday(int year, int month) {
//L'année doit être un nombre positif et le mois doit être compris entre 1 et 12.
if (year < 1 || month < 1 || month > 12) {
throw new IllegalArgumentException();
}
//Le vendredi premium aura lieu après février 2017.
if (year < 2017 || (year == 2017 && month == 1)) {
return -1;
}
//Il est jugé si c'est vendredi un jour du dernier jour du mois cible, et le premier jour jugé comme vendredi est
//Dernier vendredi du mois=Ce sera un vendredi premium.
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.FRIDAY) {
calendar.add(Calendar.DATE, -1);
}
return calendar.get(Calendar.DAY_OF_MONTH);
}
public static void main(String[] args) {
// 2017-Sortie pour 2019 Premium Friday.
for (int year : new int[]{2017, 2018, 2019}) {
for (int month = 1; month <= 12; month++) {
int day = PremiumFridayUtils.getPremiumFriday(year, month);
if (day != -1) {
System.out.printf("%d-%02d-%02d\n", year, month, day);
}
}
}
}
}
/*
2017-02-24
2017-03-31
2017-04-28
2017-05-26
2017-06-30
2017-07-28
2017-08-25
2017-09-29
2017-10-27
2017-11-24
2017-12-29
2018-01-26
2018-02-23
2018-03-30
2018-04-27
2018-05-25
2018-06-29
2018-07-27
2018-08-31
2018-09-28
2018-10-26
2018-11-30
2018-12-28
2019-01-25
2019-02-22
2019-03-29
2019-04-26
2019-05-31
2019-06-28
2019-07-26
2019-08-30
2019-09-27
2019-10-25
2019-11-29
2019-12-27
*/
Recommended Posts