本文實(shí)例講述了Python自定義函數(shù)計(jì)算給定日期是該年第幾天的方法。分享給大家供大家參考,具體如下:
寫一個(gè)函數(shù),計(jì)算給定日期是該年的第幾天.
滿足閏年的條件:
- 閏年是公歷中的名詞,能被4整除但不能被100整除,或能被400整除的年份即為閏年。
- 閏年(Leap Year)是為了彌補(bǔ)因人為歷法規(guī)定造成的年度天數(shù)與地球?qū)嶋H公轉(zhuǎn)周期的時(shí)間差而設(shè)立的。補(bǔ)上時(shí)間差的年份為閏年。閏年共有366天(1-12月分別為31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天)。
- 凡陽(yáng)歷中有閏日(二月為二十九日)的年;閏余(歲余置閏。陰歷每年與回歸年相比所差的時(shí)日);注意閏年(公歷中名詞)和閏月(農(nóng)歷中名詞)并沒(méi)有直接的關(guān)聯(lián),公歷中只分閏年和平年,平年有365天,而閏年有366天(2月中多一天);平年中也可能有閏月(如2017年是平年,農(nóng)歷有閏月,閏6月)。
代碼如下:
#coding=utf-8 #寫一個(gè)函數(shù),計(jì)算給定日期是該年的第幾天. def count(year,month,day): count = 0 #判斷該年是平年還是閏年 if year%400==0 or (year%4==0 and year%100!=0): print('%d年是閏年,2月份有29天!'%year) li1 = [31,29,31,30,31,30,31,31,30,31,30,31] for i in range(month-1): count += li1[i] return count+day else: print('%d年是平年,2月份有29天!' % year) li2 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] for i in range(month-1): count +=li2[i] return count+day if __name__ == "__main__": year = int(input('請(qǐng)輸入年份:')) month = int(input('請(qǐng)輸入月份:')) day = int(input('請(qǐng)輸入日期:')) count = count(year,month,day) print('%d年%d月%d日是今年的第%d天!'%(year,month,day,count))
運(yùn)行結(jié)果:
請(qǐng)輸入年份:2017
請(qǐng)輸入月份:8
請(qǐng)輸入日期:17
2017年8月17日是今年的第229天!
PS:這里再為大家推薦幾款關(guān)于日期與天數(shù)計(jì)算的在線工具供大家使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬(wàn)年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽(yáng)歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python日期與時(shí)間操作技巧總結(jié)》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
