Python自定義函數(shù)計算給定日期是該年第幾天的方法示例
本文實例講述了Python自定義函數(shù)計算給定日期是該年第幾天的方法。分享給大家供大家參考,具體如下:
寫一個函數(shù),計算給定日期是該年的第幾天.
滿足閏年的條件:
- 閏年是公歷中的名詞,能被4整除但不能被100整除,或能被400整除的年份即為閏年。
- 閏年(Leap Year)是為了彌補因人為歷法規(guī)定造成的年度天數(shù)與地球?qū)嶋H公轉(zhuǎn)周期的時間差而設(shè)立的。補上時間差的年份為閏年。閏年共有366天(1-12月分別為31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天)。
- 凡陽歷中有閏日(二月為二十九日)的年;閏余(歲余置閏。陰歷每年與回歸年相比所差的時日);注意閏年(公歷中名詞)和閏月(農(nóng)歷中名詞)并沒有直接的關(guān)聯(lián),公歷中只分閏年和平年,平年有365天,而閏年有366天(2月中多一天);平年中也可能有閏月(如2017年是平年,農(nóng)歷有閏月,閏6月)。
代碼如下:
#coding=utf-8
#寫一個函數(shù),計算給定日期是該年的第幾天.
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('請輸入年份:'))
month = int(input('請輸入月份:'))
day = int(input('請輸入日期:'))
count = count(year,month,day)
print('%d年%d月%d日是今年的第%d天!'%(year,month,day,count))
運行結(jié)果:
請輸入年份:2017
請輸入月份:8
請輸入日期:17
2017年8月17日是今年的第229天!
PS:這里再為大家推薦幾款關(guān)于日期與天數(shù)計算的在線工具供大家使用:
在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python日期與時間操作技巧總結(jié)》、《Python數(shù)學(xué)運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
keras.layers.Layer中無法定義name的問題及解決
這篇文章主要介紹了keras.layers.Layer中無法定義name的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
Python使用urllib2模塊抓取HTML頁面資源的實例分享
這篇文章主要介紹了Python使用urllib2模塊抓取HTML頁面資源的實例分享,將要抓取的頁面地址寫在單獨的規(guī)則列表中方便組織和重復(fù)使用,需要的朋友可以參考下2016-05-05
利用TensorFlow訓(xùn)練簡單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法
本篇文章主要介紹了利用TensorFlow訓(xùn)練簡單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
python字符串加密解密的三種方法分享(base64 win32com)
這篇文章主要介紹了python字符串加密解密的三種方法,包括用base64、使用win32com.client、自己寫的加密解密算法三種方法,大家參考使用吧2014-01-01

