実はPythonでも旧暦を計算できるんです!

PHPz
リリース: 2023-04-30 09:43:06
転載
1192 人が閲覧しました

実はPythonでも旧暦を計算できるんです!

最近、仕事で旧暦を変換するという問題に遭遇しました。

実はPythonでも旧暦を計算できるんです!

太陰暦は、我が国の現在の伝統的な暦です。月の満ち欠けの周期を基本とし、太陽帰暦を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
ログイン後にコピー

実はPythonでも旧暦を計算できるんです!

##対話型環境で次のコマンドを入力します:

date3 = ZhDate(2020, 4, 15)# 新建农历 2020年闰4月15日
print(date3.to_datetime())
ログイン後にコピー

出力:

2020-06-06 00:00:00
ログイン後にコピー

今年の旧暦の 4 月 15 日にあたる学生は、それぞれ 5 月 7 日と 6 月 6 日に 2 つの旧暦の誕生日を持つことができます。

その他

中国語の出力。対話型環境で次のコマンドを入力します。

dt_date4 = datetime(2022, 3, 4)
date4 = ZhDate.from_datetime(dt_date4)
print(date4.chinese())
ログイン後にコピー

出力:

二零二二年二月初二 壬寅年 (虎年)
ログイン後にコピー

その日の太陰暦の日付。対話型環境 次のコマンドを次の場所に入力します。

ZhDate.today()
ログイン後にコピー

出力:

农历2022年2月7日
ログイン後にコピー

さらに、zhdate モジュールは加算と減算もサポートします。 2 つの zhdate オブジェクトを減算すると、2 つの太陰暦の日付の差が得られ、整数を加算すると、その日数だけ離れた新しい太陰暦オブジェクトを返すこともできます。

実はPythonでも旧暦を計算できるんです!

実践的な戦闘: 休日間の日数を計算する

実践的なプロジェクトを通じて、この zhdate モジュールを練習してみましょう。

参加してください 今日の特定の休日まであと何日残っているかをすぐに知りたいですか? zhdate ライブラリと datetime ライブラリを使用すると、この問題を解決できます。

実はPythonでも旧暦を計算できるんです!

対話型環境で次のコマンドを入力します:

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 天
ログイン後にコピー

実はPythonでも旧暦を計算できるんです!

中秋節までの日数を計算するには、次のコマンドを入力します。インタラクティブ環境で次のコマンドを実行します:

oneDay = ZhDate(2022, 8, 15).to_datetime()
difference = oneDay.toordinal()-today.toordinal()
print(f'今天 {data_str} 距离中秋节还有 {difference} 天')
ログイン後にコピー

出力:

今天 2022-03-09 距离中秋节还有 185 天
ログイン後にコピー
時間があれば、他のフェスティバルまであと何日残っているかをテストしてみてください。実戦では、祭りが新暦と旧暦のどちらで設定されているかに注意する必要があります。

以上が実はPythonでも旧暦を計算できるんです!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!