Python竟然还可以计算农历!

最近处理工作任务的竟然计算时候遇到了转换农历的问题。

农历,农历是竟然计算我国现行的传统历法。它是农历根据月相的变化周期,每一次月相朔望变化为一个月,竟然计算参考太阳回归年为一年的农历长度,并加入二十四节气与设置闰月以使平均历年与回归年相适应[1]。竟然计算
对于我们处理数据来说,农历并不需要去详细研究农历与公历之间的竟然计算转换关系。在Python中,农历ZhDate库支持农历-公历互相转换、竟然计算日期加减以及全中文日期生成,WordPress模板农历内置了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
输出:
农历2022年1月6日
闰月在交互式环境中输入如下命令:
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
这一年农历4月15日的同学,可以分别在5月7日和6月6日分别过两次农历生日。
其他中文输出,在交互式环境中输入如下命令:
dt_date4 = datetime(2022, 3, 4)
date4 = ZhDate.from_datetime(dt_date4)
print(date4.chinese())
输出:
二零二二年二月初二 壬寅年 (虎年)
当天的农历日期,亿华云计算在交互式环境中输入如下命令:
ZhDate.today()
输出:
农历2022年2月7日
此外,zhdate模块也支持加减法。两个zhdate对象相减可以得到两个农历日期的差额,同时加整数也可以返回相隔天数以后的新农历对象。

实战:计算节日距离天数
下面通过一个实战项目练习一下这个zhdate模块。
加入我们想快速地了解今天距离某个节日还有多少天?可以使用zhdate和datetime库搭配解决这个问题。

在交互式环境中输入如下命令:
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 天
大家有时间也可以动手试一试,测试一下还距离其他节日多少天?实战时要注意该节日是按照公历统计还是农历设置的。
相关文章
三通一达业务量飙升,助力行业发展(数字化转型推动三通一达业务快速增长)
摘要:随着电子商务的快速发展,物流行业迎来了新的机遇和挑战。作为国内领先的物流企业,三通一达凭借其强大的物流网络和创新的业务模式,取得了显著的业务增长。本文将重点探讨三通一达业务量的提升...2025-11-05- 摘要:随着无线网络的普及,越来越多的人开始使用无线网卡连接台式电脑,本文将介绍如何连接无线网卡到台式电脑的详细步骤,让您能够轻松享受无线网络的便利。1.确认无线网卡型号及适配性...2025-11-05
摩斯维手机壳的品质及使用体验(探究摩斯维手机壳的设计与耐用性)
摘要:随着智能手机的普及,手机壳作为手机的保护装备也越来越重要。摩斯维作为知名手机壳品牌,备受消费者关注。本文将从摩斯维手机壳的品质及使用体验出发,探究其设计与耐用性。一、外观设...2025-11-05固态硬盘如何正确安装分区(教你一步步完成固态硬盘的分区操作)
摘要:随着科技的不断发展,固态硬盘已经成为越来越多电脑用户的选择。但是,对于一些刚开始接触固态硬盘的人来说,安装分区可能会有一些困惑。本文将以固态硬盘的安装分区为主题,为大家详细介绍如何...2025-11-05使用电脑安装飞利浦手机的教程(一步步教你如何将飞利浦手机与电脑成功连接和安装)
摘要:随着科技的进步,越来越多的人选择使用飞利浦手机。然而,有些用户可能不熟悉如何将手机与电脑成功连接和进行安装。本文将详细介绍如何使用电脑安装飞利浦手机的步骤和注意事项,帮助用户顺利完...2025-11-05- 摘要:在如今信息化快速发展的时代,电脑成为我们工作、学习、娱乐的重要工具。有时候我们需要重装系统或者更换操作系统,这时候优盘里装系统成为一种便捷的选择。本文将详细介绍如何使用优盘装系统的...2025-11-05

最新评论