1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| public String JourFériéLib(GregorianCalendar G) {
GregorianCalendar Test = new GregorianCalendar(G.get(Calendar.YEAR),G.get(Calendar.MONTH),G.get(Calendar.DAY_OF_MONTH));
int A = G.get(Calendar.YEAR); // année de la date examinée
int T = 0; int T_48 = 0; // pour calculs intermédiaires
GregorianCalendar LP; // contiendra la date du lundi de Pâques
String TYPEJOUR = "Ordinaire"; // valeur par défaut de la date
// recherche du lundi de Pâques de la date Test
T = Modulo(((255 - 11 * Modulo(A, 19)) - 21) , 30 ) + 21;
if (T > 48) {
T_48 = -1;
} else {
T_48 = 0;
}
LP = new GregorianCalendar(A, 3-1, 2);
LP.add(Calendar.DAY_OF_YEAR , (T + T_48 + 6 - Modulo((A + A / 4 + T + T_48 + 1) , 7)));
// valeurs par défaut
if (Test.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {TYPEJOUR = "Samedi";}
if (Test.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {TYPEJOUR = "Dimanche";}
// Jours fériés mobiles
LP.add(Calendar.DAY_OF_YEAR,-1);
if (Test.equals(LP)) {TYPEJOUR = "Dimanche de Pâques";}
LP.add(Calendar.DAY_OF_YEAR,1);
if (Test.equals(LP)) {TYPEJOUR = "Lundi de Pâques";}
LP.add(Calendar.DAY_OF_YEAR,38);
if (Test.equals(LP)) {TYPEJOUR = "Assension";}
LP.add(Calendar.DAY_OF_YEAR,10);
if (Test.equals(LP)) {TYPEJOUR = "Dimanche de Pentecôte";}
LP.add(Calendar.DAY_OF_YEAR,1);
if (Test.equals(LP)) {TYPEJOUR = "Lundi de Pentecôte";}
// Jours fériés fixes
if (Test.equals(new GregorianCalendar(A, 0, 1))) {TYPEJOUR = "Jour de l'an";}
if (Test.equals(new GregorianCalendar(A, 4, 1))) {TYPEJOUR = "Fête du travail";}
if (Test.equals(new GregorianCalendar(A, 4, 8))) {TYPEJOUR = "8 Mai 45";}
if (Test.equals(new GregorianCalendar(A, 6, 14))) {TYPEJOUR = "Fête nationale";}
if (Test.equals(new GregorianCalendar(A, 7, 15))) {TYPEJOUR = "15 Août";}
if (Test.equals(new GregorianCalendar(A, 10, 1))) {TYPEJOUR = "Toussaint";}
if (Test.equals(new GregorianCalendar(A, 10, 11))) {TYPEJOUR = "11 novembre 18";}
if (Test.equals(new GregorianCalendar(A, 11, 25))) {TYPEJOUR = "Noël";}
return TYPEJOUR;
} |
Partager