最近处理工作任务的时候遇到了转换农历的问题。一开始我打算搜索在线处理的网站或者转换的接口,结果找到了一个Python库可以直接解决,今天正好同大家分享一下。
农历,是我国现行的传统历法。它是根据月相的变化周期,每一次月相朔望变化为一个月,参考太阳回归年为一年的长度,并加入二十四节气与设置闰月以使平均历年与回归年相适应[1]。
对于我们处理数据来说,并不需要去详细研究农历与公历之间的转换关系。在Python中,ZhDate
库支持农历-公历互相转换、日期加减以及全中文日期生成,内置了1900-2100年的农历数据,仅依赖Python内置模块。
由于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