每个人的生日都对应一个阳历日期和一个农历日期。由于阳历和农历的周期规律不同,因此阳历生日和农历生日什么时候出现在同一天,并没有固定的规律可循。
为了方便这种情况的查询,编写了一个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