python經常使用模塊 之 datetime & sxtwl模塊——實現陰陽曆生日換算

import sxtwl
from datetime import datetime

lunar = sxtwl.Lunar()  

def fun1(day1):
    a = datetime.now().year
    date1 = datetime.strptime(day1,'%Y-%m-%d')
    day = lunar.getDayByLunar(a, date1.month, date1.day)
    day_diernian = lunar.getDayByLunar(a+1, date1.month, date1.day)
    print("你的生日在本年的陽曆生日爲:", day.y, "年", day.m, "月", day.d, "日")
    print("你的生日在第二年的陽曆生日爲:", day_diernian.y, "年", day_diernian.m, "月", day_diernian.d, "日")
    
    global year
    global month
    global day11
    year = day.y
    month = day.m
    day11 = day.d

    global month_beiyong
    global day11_beiyong
    month_beiyong = day_diernian.m
    day11_beiyong = day_diernian.d

while True:
    if __name__ == '__main__':
        print("你能夠輸入'q'退出去哦!")
        day1 = input('請輸入你的農曆生日\n(格式爲:年-月-日):')
            
        if day1 == 'q':
            break    
                  
        fun1(day1)





    b = datetime.now()       
    date2 = datetime(year,month,day11)
    days1 = date2 - b
    j = days1.days
    if j >= 0 :
        print('你本年的生日尚未過哎,距離你本年的生日還差%s天'%days1)
    elif j<0:
        #如今到第二年1月1號的天數
        year += 1
        days4 = datetime(year,1,1)
        days3 = days4 - b
        f = days3.days

        #再從第二年11日計算到你生日的天數
        days5 = datetime(year,month_beiyong,day11_beiyong)
        days6 = days5 - days4
        g = days6.days
        
        #到第二年的總天數
        sum1 = f + g
        print('你今年的生日已通過了哎,距離你第二年的生日還有%s天' % sum1)
複製代碼
相關文章
相關標籤/搜索