Maison  >  Article  >  développement back-end  >  Python peut réellement calculer le calendrier lunaire !

Python peut réellement calculer le calendrier lunaire !

PHPz
PHPzavant
2023-04-30 09:43:061101parcourir

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

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

Sortie :

农历2022年2月2日

Entrez la commande suivante dans l'environnement interactif :

t_date1 = date1.to_datetime()
t_date1

Sortie :

datetime.datetime(2022, 3, 4, 0, 0)

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

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>

Mois bissextile

Saisissez la commande suivante dans l'environnement interactif :

date3 = ZhDate(2020, 4, 15)# 新建农历 2020年4月15日
print(date3.to_datetime())

Sortie :

2020-05-07 00:00:00

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())

Sortie :

2020-06-06 00:00:00

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())

Sortie :

二零二二年二月初二 壬寅年 (虎年)

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

ZhDate.today()

Sortie :

农历2022年2月7日

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

Sortie :

'2022-03-09'

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} 天')

Sortie :

今天 2022-03-09 距离五一劳动节还有 53 天

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} 天')

Sortie :

今天 2022-03-09 距离中秋节还有 185 天

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer