使用python程序计算阳历和农历生日在同一天的年份

每个人的生日都对应一个阳历日期和一个农历日期。由于阳历和农历的周期规律不同,因此阳历生日和农历生日什么时候出现在同一天,并没有固定的规律可循。

为了方便这种情况的查询,编写了一个python程序,输入阳历或农历生日后,会计算100年之内二者再次重合的阳历年份。

程序使用了sxtwl库,这个库的详情可以参考 https://pypi.org/project/sxtwl/ 。

程序代码如下:

#-*—coding:utf8-*-

import sxtwl

dateType = input("农历日期请输入0,阳历日期请输入1,之后回车:")
year = input("请输入生日年份,之后回车:")
month = input("请输入生日月份,之后回车:")
day = input("请输入生日日期,之后回车:")

if dateType == 0 :
    birthday = sxtwl.fromLunar(year, month, day)
else :
    birthday = sxtwl.fromSolar(year, month, day)

solarYear = birthday.getSolarYear()
solarMonth = birthday.getSolarMonth()
solarDay = birthday.getSolarDay()
lunarYear = birthday.getLunarYear()
lunarMonth = birthday.getLunarMonth()
lunarDay = birthday.getLunarDay()

print "您的阳历生日为:" + str(solarYear) + "年" + str(solarMonth) + "月" + str(solarDay) + "日"
print "您的农历生日为:" + str(lunarYear) + "年" + str(lunarMonth) + "月" + str(lunarDay) + "日"

print "您的阳历生日和农历生日同一天的年份(阳历)为:"
for y in range(solarYear + 1 , solarYear +100):
    solarBirthday = sxtwl.fromSolar(y, solarMonth, solarDay)
    if lunarMonth == solarBirthday.getLunarMonth() and lunarDay == solarBirthday.getLunarDay():
        print y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值