python中date,python 日期操作
zhdate模块统计从1900年到2100年的农历月份数据代码,支持农历和公历之间的转化,并且支持日期差额运算。本文将利用这一模块实现农历日期的处理,需要的可以参考一下
目录
简介安装主要功能源码
简介
zhdate模块统计从1900年到2100年的农历月份数据代码,支持农历和公历之间的转化,并且支持日期差额运算。
安装
点安装zhdate
主要功能
1、获取公历对应的农历日期
2、获取中文描述农历日期
3、计算公历距离农历差额
获取公历对应的农历日期:格式ZhDate.from_datetime(日期时间(年、月、日))
打印(zhdate。from _ datetime(日期时间(2022,3,27)))
# 农历2022年注射毒品月25日
获取中文描述农历日期:需对结果调用中文()方法
格式ZhDate.from_datetime(日期时间(年、月、日))。中文()
打印(zhdate。from _ datetime(日期时间(2022,3,27)).中文())
# 二零二二年二月二十五壬寅年(虎年)
计算公历距离农历差额:
格式:差额=LC _ day。toordinal()-GC _ day。toordinal()
源码
# -*-编码:utf-8 -*-
从zhdate导入ZhDate
从日期时间导入日期时间
def get _ Chinese _ traditional _ calendar(date=None):
:参数日期:无=当前日期。
:返回:
如果日期:
年、月、日=int(日期[:4]),int(日期[4:6]),int(日期[6:])
else:
now=str(datetime.now().strftime(%Y-%m-%d ).拆分(-)
年、月、日=int(现在为[0]),int(现在为[1]),int(现在为[2])
返回zhdate。从日期时间(日期时间(年、月、日))
def get_difference_days(日期1,日期2=无):
:参数日期1:
:参数日期2:无=当前日期
:返回:
如果日期2:
year1,month1,day1=int(日期1[:4]),int(日期1[4:6]),int(日期1[6:])
year2,month2,day2=int(日期2[:4]),int(日期2[4:6]),int(日期2[6:])
else:
now=str(datetime.now().strftime(%Y-%m-%d ).拆分(-)
year1,month1,day1=int(日期1[:4]),int(日期1[4:6]),int(日期1[6:])
year2,month2,day2=int(现在为[0]),int(现在为[1]),int(现在为[2])
日期2=f"{第2年} {第2月} {第2天} "
一天=日期时间(第2年,第2个月,第2天)
other_day=datetime(year1,month1,day1)
差=ABS(one _ day。toordinal()-其他日期。toordinal())
打印(f {日期1 }距离{日期2}相差{差异}天)
返回差异
def get _ difference _ Chinese _ calendar(GC _ date,lc_date):
:param gc_date:公历公历
:参数lc_day:农历农历
:返回:
year1,month1,day1=int(gc_date[:4]),int(gc_date[4:6]),int(gc_date[6:])
year2,month2,day2=int(lc_date[:4]),int(lc_date[4:6]),int(lc_date[6:])
gc_day=日期时间(第一年,第一个月,第一天)
lc_day=ZhDate(第2年,第2个月,第2天)。到日期时间()
差异=LC _ day。toordinal()-GC _ day。toordinal()
打印(f 公历{gc_date}距离农历{lc_date}相差{abs(差异)}天)
返回差异
if __name__==__main__:
# 当前日期对应的农历日期
date 1=get _ Chinese _ traditional _ calendar()
打印(日期1)
print(date1.chinese())
# 指定日期对应的农历日期
date 2=get _ Chinese _ traditional _ calendar( 20220328 )
打印(日期2)
print(date2.chinese())
# 公历日期相差
get_difference_days(20220511 )
get_difference_days(20220327 , 20221001 )
# 公历距离农历相差
get _ difference _中文_日历( 2022 03 27 , 20220303) #距离农历三月三
get _ difference _ China _ calendar( 2022 03 27 , 20220505) #距离端午节
get _ difference _ China _ calendar( 2022 03 27 , 20220815) #距离中秋节
get _ difference _ Chinese _ calendar( 2022 03 27 , 20220909) #距离重阳节
get _ difference _ Chinese _ calendar( 2022 03 27 , 20230101) #从春节开始
以上是Python使用zhdate模块进行农历日期处理的详细内容。更多关于Python农历日期处理的信息,请关注盛行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。