Python peut réellement calculer le calendrier lunaire !

PHPz
Libérer: 2023-04-30 09:43:06
avant
1100 Les gens l'ont consulté

Python peut réellement calculer le calendrier lunaire !

Récemment, j'ai rencontré le problème de la conversion du calendrier lunaire lors de tâches professionnelles.

Python peut réellement calculer le calendrier lunaire !

Le calendrier lunaire est le calendrier traditionnel actuel de notre pays. Il est basé sur le cycle changeant de la phase lunaire. Chaque phase lunaire change en un mois, en référence à l'année de retour solaire comme étant d'une durée d'un an, et ajoute vingt-quatre termes solaires et définit des mois bissextiles pour former le calendrier moyen. l'année et l'année tropicale s'adaptent [1] .

Pour que nous puissions traiter les données, nous n'avons pas besoin d'étudier en détail la relation de conversion entre le calendrier lunaire et le calendrier grégorien. En Python, la bibliothèque ZhDate prend en charge la conversion du calendrier lunaire en calendrier grégorien, l'ajout et la soustraction de dates et la génération de dates chinoises complètes. Elle intègre des données de calendrier lunaire de 1900 à 2100 et s'appuie uniquement sur les modules intégrés de Python. github.com/CutePandaSh/zhdate

Étant donné que ZhDate est un module open source tiers de Python, il nécessite une installation et une importation supplémentaires avant de pouvoir être utilisé. Entrez la commande suivante directement dans la fenêtre de ligne de commande :

pip install zhdate
Copier après la connexion

Méthode d'utilisation détaillée

bibliothèque zhdate, calcule directement le calendrier lunaire chinois localement sans interface réseau et prend en charge la conversion entre le calendrier lunaire et le calendrier solaire [2].

Conversion entre les dates du calendrier solaire et du calendrier lunaire

Entrez la commande suivante dans l'environnement interactif :

from zhdate import ZhDate
date1 = ZhDate(2022, 2, 2)# 新建农历 2022年二月初二(龙抬头)的日期对象
print(date1)# 直接返回农历日期字符串d
Copier après la connexion

Sortie :

农历2022年2月2日
Copier après la connexion

Entrez la commande suivante dans l'environnement interactif :

t_date1 = date1.to_datetime()
t_date1
Copier après la connexion

Sortie :

datetime.datetime(2022, 3, 4, 0, 0)
Copier après la connexion

Dans l'environnement interactif Saisissez la commande suivante :

from datetime import datetime
dt_date2 = datetime(2022, 2, 6)
date2 = ZhDate.from_datetime(dt_date2)# 从阳历日期转换成农历日期对象
date2
Copier après la connexion

Sortie :

<span  style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">农历2022年1月6日</span><br>
Copier après la connexion

Mois bissextile

Saisissez la commande suivante dans l'environnement interactif :

date3 = ZhDate(2020, 4, 15)# 新建农历 2020年4月15日
print(date3.to_datetime())
Copier après la connexion

Sortie :

2020-05-07 00:00:00
Copier après la connexion

Python peut réellement calculer le calendrier lunaire !

Saisissez la commande suivante dans l'environnement interactif :

date3 = ZhDate(2020, 4, 15)# 新建农历 2020年闰4月15日
print(date3.to_datetime())
Copier après la connexion

Sortie :

2020-06-06 00:00:00
Copier après la connexion

Les étudiants qui tombent le 15 avril dans le calendrier lunaire cette année peuvent avoir deux anniversaires lunaires respectivement le 7 mai et le 6 juin.

Autres

Sortie chinoise, entrez la commande suivante dans l'environnement interactif :

dt_date4 = datetime(2022, 3, 4)
date4 = ZhDate.from_datetime(dt_date4)
print(date4.chinese())
Copier après la connexion

Sortie :

二零二二年二月初二 壬寅年 (虎年)
Copier après la connexion

La date lunaire du jour, entrez la commande suivante dans l'environnement interactif :

ZhDate.today()
Copier après la connexion

Sortie :

农历2022年2月7日
Copier après la connexion

In addition, zhdate Le module prend également en charge l'addition et la soustraction. La soustraction de deux objets zhdate peut obtenir la différence entre les deux dates du calendrier lunaire, et l'ajout d'un nombre entier peut également renvoyer un nouvel objet de calendrier lunaire correspondant au nombre de jours d'intervalle.

Python peut réellement calculer le calendrier lunaire !

Pratique : Calculer le nombre de jours à partir d'un jour de vacances

Pratiquons ce module zhdate à travers un projet pratique.

Rejoignez-nous Vous voulez savoir rapidement combien de jours il reste avant un certain jour férié aujourd'hui ? Vous pouvez utiliser les bibliothèques zhdate et datetime pour résoudre ce problème.

Python peut réellement calculer le calendrier lunaire !

Entrez la commande suivante dans l'environnement interactif :

today = datetime.now()
data_str = today.strftime('%Y-%m-%d')
data_str
Copier après la connexion

Sortie :

'2022-03-09'
Copier après la connexion

Calculez le nombre de jours jusqu'à la fête du Travail, entrez la commande suivante dans l'environnement interactif :

oneDay = datetime(2022, 5, 1)
difference = oneDay.toordinal()-today.toordinal()
print(f'今天 {data_str} 距离五一劳动节还有 {difference} 天')
Copier après la connexion

Sortie :

今天 2022-03-09 距离五一劳动节还有 53 天
Copier après la connexion

Python peut réellement calculer le calendrier lunaire !

Calculer Pour déterminer le nombre de jours avant la Fête de la Mi-Automne, entrez la commande suivante dans l'environnement interactif :

oneDay = ZhDate(2022, 8, 15).to_datetime()
difference = oneDay.toordinal()-today.toordinal()
print(f'今天 {data_str} 距离中秋节还有 {difference} 天')
Copier après la connexion

Sortie :

今天 2022-03-09 距离中秋节还有 185 天
Copier après la connexion

Si vous avez le temps, vous pouvez l'essayer et tester combien de jours il reste avant d'autres fêtes ? En combat réel, vous devez faire attention à savoir si la fête est fixée selon le calendrier grégorien ou le calendrier lunaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!