最近、仕事で旧暦を変換するという問題に遭遇しました。
太陰暦は、我が国の現在の伝統的な暦です。月の満ち欠けの周期を基本とし、太陽帰暦を1年として、月の満ち欠けを1ヶ月とし、二十四節気を加え、閏月を設けて平均した暦です。年と熱帯年は適応します [1] 。
データを処理するために、太陰暦とグレゴリオ暦の変換関係を詳しく調べる必要はありません。 Python では、ZhDate ライブラリは、太陰暦とグレゴリオ暦の変換、日付の加算と減算、および完全な中国の日付の生成をサポートしています。1900 年から 2100 年までの組み込みの太陰暦データがあり、Python の組み込みモジュールのみに依存します。 github.com/CutePandaSh/zhdate
ZhDate は Python のサードパーティ オープン ソース モジュールであるため、使用する前に追加のインストールとインポートが必要です。コマンド ライン ウィンドウに次のコマンドを直接入力します。
pip install zhdate
zhdate ライブラリ。ネットワーク インターフェイスを使用せずにローカルで中国の旧暦を直接計算し、旧暦から旧暦への変換をサポートします。太陽暦 [2]。
対話型環境で次のコマンドを入力します:
from zhdate import ZhDate date1 = ZhDate(2022, 2, 2)# 新建农历 2022年二月初二(龙抬头)的日期对象 print(date1)# 直接返回农历日期字符串d
出力:
农历2022年2月2日
対話型環境で入力します。次のコマンド:
t_date1 = date1.to_datetime() t_date1
出力:
datetime.datetime(2022, 3, 4, 0, 0)
対話型環境で次のコマンドを入力します:
from datetime import datetime dt_date2 = datetime(2022, 2, 6) date2 = ZhDate.from_datetime(dt_date2)# 从阳历日期转换成农历日期对象 date2
出力:
<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>
対話型環境で次のコマンドを入力します:
date3 = ZhDate(2020, 4, 15)# 新建农历 2020年4月15日 print(date3.to_datetime())
出力:
2020-05-07 00:00:00
date3 = ZhDate(2020, 4, 15)# 新建农历 2020年闰4月15日 print(date3.to_datetime())
2020-06-06 00:00:00
dt_date4 = datetime(2022, 3, 4) date4 = ZhDate.from_datetime(dt_date4) print(date4.chinese())
二零二二年二月初二 壬寅年 (虎年)
ZhDate.today()
农历2022年2月7日
today = datetime.now() data_str = today.strftime('%Y-%m-%d') data_str
'2022-03-09'
oneDay = datetime(2022, 5, 1) difference = oneDay.toordinal()-today.toordinal() print(f'今天 {data_str} 距离五一劳动节还有 {difference} 天')
今天 2022-03-09 距离五一劳动节还有 53 天
oneDay = ZhDate(2022, 8, 15).to_datetime() difference = oneDay.toordinal()-today.toordinal() print(f'今天 {data_str} 距离中秋节还有 {difference} 天')
今天 2022-03-09 距离中秋节还有 185 天
以上が実はPythonでも旧暦を計算できるんです!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。