Bonjour,
Je suis en train de développer un application de gestion des horaires, mais je n'arrive pas à savoir si pour un jour donné, il est férié ou non.
La valeur que je souhaiterai mettre en paramètre est de format "13-11-2016" est ce dernier est enregistré en base de donné comme une String.

Si par hasard quelqu'un pourrait m'aider, je vous en serai très reconnaissante.

En cherchant sur le forum, j'ai trouvé cette méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
private static boolean isJourTravaille(Calendar p_date)
    {
        // On constitue la liste des jours fériés
        final List < Calendar > joursFeries = new ArrayList < Calendar > ();
        // On recherche les jours fériés de l'année de la date en paramètre
        final Calendar jourFerie = (Calendar) p_date.clone();
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.JANUARY, 1);
        joursFeries.add((Calendar) jourFerie.clone());
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.MAY, 1);
        joursFeries.add((Calendar) jourFerie.clone());
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.MAY, 8);
        joursFeries.add((Calendar) jourFerie.clone());
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.JULY, 14);
        joursFeries.add((Calendar) jourFerie.clone());
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.AUGUST, 15);
        joursFeries.add((Calendar) jourFerie.clone());
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.NOVEMBER, 1);
        joursFeries.add((Calendar) jourFerie.clone());
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.NOVEMBER, 11);
        joursFeries.add((Calendar) jourFerie.clone());
        jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.DECEMBER, 25);
        joursFeries.add((Calendar) jourFerie.clone());
 
        // Calcul du jour de pâques (algorithme de Oudin (1940))
        // Calcul du nombre d'or - 1
        final int intGoldNumber = p_date.get(Calendar.YEAR) % 19;
        // Année divisé par cent
        final int intAnneeDiv100 = (int) (p_date.get(Calendar.YEAR)
                / Constantes.FACTEUR_100);
        // intEpacte est = 23 - Epacte (modulo 30)
        final int intEpacte = (intAnneeDiv100 - intAnneeDiv100 / 4
                - (8 * intAnneeDiv100 + 13) / 25
                + (19 * intGoldNumber) + 15) % 30;
        // Le nombre de jours à partir du 21 mars
        // pour atteindre la pleine lune Pascale
        final int intDaysEquinoxeToMoonFull = intEpacte - (intEpacte / 28)
                * (1 - (intEpacte / 28) * (29 / (intEpacte + 1))
                        * ((21 - intGoldNumber) / 11));
        // Jour de la semaine pour la pleine lune Pascale (0=dimanche)
        final int intWeekDayMoonFull = (p_date.get(Calendar.YEAR)
                + p_date.get(Calendar.YEAR) / 4
                + intDaysEquinoxeToMoonFull + 2 - intAnneeDiv100
                + intAnneeDiv100 / 4) % 7;
        // Nombre de jours du 21 mars jusqu'au dimanche de ou
        // avant la pleine lune Pascale (un nombre entre -6 et 28)
        final int intDaysEquinoxeBeforeFullMoon =
            intDaysEquinoxeToMoonFull - intWeekDayMoonFull;
        // mois de pâques
        final int intMonthPaques = 3
            + (intDaysEquinoxeBeforeFullMoon + 40) / 44;
        // jour de pâques
        final int intDayPaques = intDaysEquinoxeBeforeFullMoon + 28
                                    - 31 * (intMonthPaques / 4);
        // lundi de pâques
        jourFerie.set(
                p_date.get(Calendar.YEAR), intMonthPaques - 1, intDayPaques + 1);
        final Calendar lundiDePaque = (Calendar) jourFerie.clone();
        joursFeries.add(lundiDePaque);
        // Ascension
        final Calendar ascension = (Calendar) lundiDePaque.clone();
        ascension.add(Calendar.DATE, 38);
        joursFeries.add(ascension);
        //Pentecote
        final Calendar lundiPentecote = (Calendar) lundiDePaque.clone();
        lundiPentecote.add(Calendar.DATE, 48);
        joursFeries.add(lundiPentecote);
        if (joursFeries.contains(p_date)
                || p_date.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
                || p_date.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
            return false;
        }
        return true;
    }
mais quelque part dans la fonction, il est fait appel à une classe "Constantes", mais je ne sais pas à quoi elle correspond.
De plus, il faut faire passer en paramètre un calendar et je galère un max.

Merci beaucoup du coup de main.