Python自定義函數(shù)計(jì)算給定日期是該年第幾天的方法示例
本文實(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ì)有所幫助。
- Python計(jì)算指定日期是今年的第幾天(三種方法)
- Python 3.3實(shí)現(xiàn)計(jì)算兩個(gè)日期間隔秒數(shù)/天數(shù)的方法示例
- Python日期時(shí)間模塊datetime詳解與Python 日期時(shí)間的比較,計(jì)算實(shí)例代碼
- Python根據(jù)指定日期計(jì)算后n天,前n天是哪一天的方法
- python 計(jì)算兩個(gè)日期相差多少個(gè)月實(shí)例代碼
- Python中的DateTime和TimeDelta詳解
- Python中Timedelta轉(zhuǎn)換為Int或Float方式
- 如何使用?Python?Timedelta?月份計(jì)算日期
相關(guān)文章
python用類實(shí)現(xiàn)文章敏感詞的過(guò)濾方法示例
這篇文章主要介紹了python用類實(shí)現(xiàn)文章敏感詞的過(guò)濾方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
keras.layers.Layer中無(wú)法定義name的問(wèn)題及解決
這篇文章主要介紹了keras.layers.Layer中無(wú)法定義name的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Python使用urllib2模塊抓取HTML頁(yè)面資源的實(shí)例分享
這篇文章主要介紹了Python使用urllib2模塊抓取HTML頁(yè)面資源的實(shí)例分享,將要抓取的頁(yè)面地址寫在單獨(dú)的規(guī)則列表中方便組織和重復(fù)使用,需要的朋友可以參考下2016-05-05
利用TensorFlow訓(xùn)練簡(jiǎn)單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法
本篇文章主要介紹了利用TensorFlow訓(xùn)練簡(jiǎn)單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
python字符串加密解密的三種方法分享(base64 win32com)
這篇文章主要介紹了python字符串加密解密的三種方法,包括用base64、使用win32com.client、自己寫的加密解密算法三種方法,大家參考使用吧2014-01-01
Python去除字符串中的標(biāo)點(diǎn)符號(hào)的最優(yōu)方式
在Python編程中,去除字符串標(biāo)點(diǎn)符號(hào)是一項(xiàng)常見(jiàn)任務(wù),關(guān)鍵在于文本分析和數(shù)據(jù)清洗,Python提供了多種方法,包括使用str.replace()、str.translate()結(jié)合str.maketrans(),以及使用正則表達(dá)式,另外,可以利用string模塊中的punctuation屬性快速實(shí)現(xiàn)2024-09-09
Python監(jiān)聽(tīng)鍵盤和鼠標(biāo)事件的示例代碼
這篇文章主要介紹了Python監(jiān)聽(tīng)鍵盤和鼠標(biāo)事件的示例代碼,幫助大家更好的理解和使用python,提高辦公效率,感興趣的朋友可以了解下2020-11-11

