• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

666Python竟然还可以计算农历

python 搞java代码 3年前 (2022-07-26) 40次浏览 已收录 0个评论
文章目录[隐藏]

最近解决工作工作的时候遇到了转换农历的问题。一开始我打算搜寻在线解决的网站或者转换的接口,后果找到了一个Python库能够间接解决,明天正好同大家分享一下。

农历,是我国现行的传统历法。它是依据月相的变动周期,每一次月相朔望变动为一个月,参考太阳回归年为一年的长度,并退出二十四节气与设置闰月以使均匀历年与回归年相适应。

对于咱们解决数据来说,并不需要去具体钻研农历与公历之间的转换关系。在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, 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模块。

如果咱们想疾速地理解明天间隔某个节日还有多少天?能够应用zhdatedatetime库搭配解决这个问题。

在交互式环境中输出如下命令:

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编程学习圈,每日干货分享,发送“J”还可支付大量学习材料,内容笼罩Python电子书、教程、数据库编程、Django,爬虫,云计算等等。或是返回编程学习网,理解更多编程技术常识。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:666Python竟然还可以计算农历

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址