Méthodes de calcul pour les années bissextiles du calendrier grégorien et les mois intercalaires du calendrier lunaire chinois

Les trois types principaux de calendriers

  1. Calendrier solaire : basé sur la période de révolution de la Terre autour du Soleil. Le nombre de mois par an et de jours par mois est défini par convention. Il est également appelé calendrier grégorien. > Le calendrier solaire (grégorien) est fondé sur le cycle solaire. La durée de ce cycle étant fixe, chaque mois a un nombre de jours prédéterminé.
  2. Calendrier lunaire : basé sur la période de révolution de la Lune autour de la Terre pour déterminer la durée d'un mois. Seul le nombre de mois dans une année peut être fixé par convention. (Il a évolué vers un calendrier lunisolaire.)> Le calendrier lunaire traditionnel chinois est l'un des anciens systèmes. Après la Révolution de 1911, le calendrier solaire occidental (grégorien) a été adopté. Le système actuel généralement appelé « calendrier lunaire » (Nónglì) est en réalité un calendrier lunisolaire.
  3. Calendrier lunisolaire : il utilise la période moyenne de la Lune autour de la Terre comme base pour un mois, mais incorpore un mois intercalaire afin que la durée moyenne d'une année corresponde à la période orbitale de la Terre autour du Soleil. Il est ausi appelé calendrier chinois traditionnel. > Ce calendrier suit les phases de la Lune. La période synodique moyenne est d'environ 29,5 jours, ce qui donne des mois de 29 ou 30 jours. Il distingue mois longs (30 jours) et mois courts (29 jours) pour maintenir la synchronisation avec les saisons astronomiques.

Différence entre année bissextile et mois intercalaire

  1. L'année bissextile est une notion du calendrier grégorien. La durée de la révolution terrestre (année tropique) est d'environ 365 jours, 5 heures, 48 minutes et 46 secondes. Une année commune de 365 jours est plus courte d'environ 0,2422 jour. Tous les quatre ans, ce décalage accumulé donne environ un jour supplémentaire, qui est ajouté au mois de février, faisant passer l'année à 366 jours. Ce mécanisme compense l'écart entre l'année civile et l'année tropique. > La règle est fixe : sur 400 ans, il y a 97 années bissextiles. Une année est bissextile si elle est divisible par 4, à l'exception des années séculaires non divisibles par 400. Le mois de février compte alors 29 jours au lieu de 28.
  2. Le mois intercalaire est une notion du calendrier lunaire chinois. Comme la période de révolution de la Lune est légèrement plus courte que celle du Soleil, une année lunaire est plus courte d'environ 11 jours qu'une année solaire. Pour corriger ce déséquilibre, un mois supplémentaire (intercalaire) est inséré certaines années, portant le total des mois à 13. > Un mois intercalaire apparaît environ tous les 3 ans. Une année contenant un mois intercalaire dure généralement 384 jours.

Exemples d'années bissextiles et de mois intercalaires récents

Année Signe astrologique Bissextile (Grégorien) Jours total (Grégorien) Mois intercalaire (Lunaire) Jours du mois intercalaire Jours total (Lunaire)
1990 Cheval 365 intercalaire 5 29 384
1991 Brebis 365 354
1992 Singe Oui 366 354
1993 Coq 365 intercalaire 3 29 383
1994 Chien 365 355
1995 Cochon 365 intercalaire 8 29 384
1996 Rat Oui 366 354
1997 Buffle 365 355
1998 Tigre 365 intercalaire 5 29 384
1999 Lapin 365 354
2000 Dragon Oui 366 354
2001 Serpent 365 intercalaire 4 29 384
2002 Cheval 365 354
2003 Brebis 365 355
2004 Singe Oui 366 intecralaire 2 29 384
2005 Coq 365 354
2006 Chien 365 intercalaire 7 29 385
2007 Cochon 365 354
2008 Rat Oui 366 354
2009 Buffle 365 intercalaire 5 29 384
2010 Tigre 365 354
2011 Lapin 365 354
2012 Dragon Oui 366 intercalaire 4 29 384
2013 Serpent 365 355
2014 Cheval 365 intercalaire 9 29 384
2015 Brebis 365 354
2016 Singe Oui 366 355
2017 Coq 365 intercalaire 6 30 384
2018 Chien 365 354
2019 Cochon 365 354
2020 Rat Oui 366 intercalaire 4 29 384
2021 Buffle 365 354
2022 Tigre 365 355
2023 Lapin 365 intercalaire 2 29 384
2024 Dragon Oui 366 354
2025 Serpent 365 intercalaire 6 29 384
2026 Cheval 365 354
2027 Brebis 365 354
2028 Singe Oui 366 intercalaire 5 29 384

Implémentation en Java pour calculer les années bissextiles et les mois intercalaires

L'exemple suivant utilise la bibliothèque standard Java ainsi que la bibliothèque Hutool pour des opérations courantes sur les dates et le calendrier chinois.

Ajout de la dépendance Maven :

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.5</version>
</dependency>

Extrait de code Java :

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.chinese.LunarInfo;

public class CalendarAnalyzer {

    private static final String[] CHINESE_MONTH_NAMES = {
        "premier", "deuxième", "troisième", "quatrième", "cinquième", "sixième",
        "septième", "huitième", "neuvième", "dixième", "onzième", "douzième"
    };

    public static void main(String[] arguments) {
        int startYear = 1990;
        int endYear = 2029;

        for (int currentYear = startYear; currentYear < endYear; currentYear++) {
            // Signe zodiacal
            String zodiacSign = DateUtil.getChineseZodiac(currentYear);

            // Année bissextile grégorienne ?
            boolean isBissextile = DateUtil.isLeapYear(currentYear);
            String bissextileLabel = isBissextile ? "Oui" : "Non";
            int gregorianDays = DateUtil.lengthOfYear(currentYear);

            // Mois intercalaire lunaire
            int intercalaryMonth = LunarInfo.leapMonth(currentYear);
            String intercalaryMonthName = "";
            int intercalaryMonthDays = 0;

            if (intercalaryMonth > 0) {
                intercalaryMonthName = "intercalaire " + CHINESE_MONTH_NAMES[intercalaryMonth - 1];
                intercalaryMonthDays = LunarInfo.leapDays(currentYear);
            }

            int lunarYearDays = LunarInfo.yearDays(currentYear);

            // Affichage formaté
            System.out.printf("| %d | %s | %s | %d | %s | %d | %d |%n",
                currentYear, zodiacSign, bissextileLabel, gregorianDays,
                intercalaryMonthName, intercalaryMonthDays, lunarYearDays);
        }
    }
}

Étiquettes: calendrier grégorien calendrier lunaire chinois années bissextiles mois intercalaires lunisolaire

Publié le 9 juin à 01h31