python万年历函数输入某一年某一月_Python自定义函数计算给定日期是该年第几天的方法示例...

本文实例讲述了python自定义函数计算给定日期是该年第几天的方法。分享给大家供大家参考,具体如下:

写一个函数,计算给定日期是该年的第几天.

满足闰年的条件:

闰年是公历中的名词,能被4整除但不能被100整除,或能被400整除的年份即为闰年。

闰年(leap year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。闰年共有366天(1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天)。

凡阳历中有闰日(二月为二十九日)的年;闰余(岁余置闰。阴历每年与回归年相比所差的时日);注意闰年(公历中名词)和闰月(农历中名词)并没有直接的关联,公历中只分闰年和平年,平年有365天,而闰年有366天(2月中多一天);平年中也可能有闰月(如2017年是平年,农历有闰月,闰6月)。

代码如下:

#coding=utf-8

#写一个函数,计算给定日期是该年的第几天.

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))

运行结果:

请输入年份:2017

请输入月份:8

请输入日期:17

2017年8月17日是今年的第229天!

ps:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:

在线万年历日历:

在线阴历/阳历转换工具:

unix时间戳(timestamp)转换工具:

希望本文所述对大家python程序设计有所帮助。

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值