[JAVA] Officiel de Zeller (demandant le jour)

public class Main {

    public static void main(String[] args) {
        System.out.println(calc(2018, 3, 28)); //Mercredi
        System.out.println(calc(2018, 2, 28)); //Mercredi
        System.out.println(calc(2018, 1, 28)); //dimanche
    }

    public static String calc(
            double y,
            double m,
            double d) {

        double M = 0;
        if (m < 3) {
            M = m + 12;
            y = y - 1;
        } else {
            M = m;
        }

        int C = (int) (y / 100);
        int Y = (int) (y % 100);

        double R = 0;

        if (y >= 1582) {
            R = (C / 4) - C - C;
        } else if (y >= 4) {
            R = 5 - C;
        } else {
            throw new IllegalArgumentException("year >= 4");
        }

        Double h = (d + ((26 * (M + 1)) / 10) + Y + (Y / 4) + R) % 7;

        String[] weekday = new String[] {
                "sol",
                "journée",
                "Mois",
                "Feu",
                "eau",
                "bois",
                "Argent"
        };
        return weekday[h.intValue()];

    }

}

Recommended Posts

Officiel de Zeller (demandant le jour)
[Java] Obtenez le jour d'un jour spécifique
Comment obtenir le jour d'aujourd'hui
[Ruby] Code pour afficher le jour
[Ubuntu 20.04] Afficher le jour à la date / horloge
Sortie du jour en utilisant la classe Ruby's Date
[Java1.8 +] Obtenez la date du jour × suivant avec LocalDate
Changez la conversation en fonction du jour d'aujourd'hui
Comprendre l'échantillon officiel Coffee of Dagger2
[jour: 5] J'ai résumé les bases de Java
Récupérer le premier jour de la semaine dans les paramètres régionaux actuels (quel jour est-il aujourd'hui?)
[Java] Calculer le jour à partir de la date (ne pas utiliser la classe Calendar)
À propos du guide de démarrage officiel de Spring Framework
Comparez la vitesse de l'instruction for et de l'instruction for étendue.
Le nom officiel de Spring MVC est Spring Web MVC
[Java] Comment afficher les jours acquis par LocalDate et DateTimeformatter en japonais
[Pour les débutants] DI ~ Les bases de DI et DI au printemps ~
[Pour les débutants] Comprendre rapidement les bases de Java 8 lambda