给出某年月日用python判断这是一年的第几天

举报
柯子翼 发表于 2024/01/15 15:48:33 2024/01/15
5.1k+ 0 0
【摘要】 首先月日怎么判断呢?以3月5日为例,首先,我们来看日期的计算方法。以3月5日为例,计算方式是将前两个月的天数相加,再加上当前月份的天数。同时,如果是闰年且输入的月份大于2(即3月之后),还需要考虑多加一天。接下来,我们先定义需要用到的年、月、日变量,以便稍后从键盘输入。同时,我们已经知道1月有31天,2月在闰年时有29天(平年是28天),所以前两个月的总天数是31+29=60天,第三个月是9...

首先月日怎么判断呢?以3月5日为例,首先,我们来看日期的计算方法。以3月5日为例,计算方式是将前两个月的天数相加,再加上当前月份的天数。同时,如果是闰年且输入的月份大于2(即3月之后),还需要考虑多加一天。

接下来,我们先定义需要用到的年、月、日变量,以便稍后从键盘输入。同时,我们已经知道1月有31天,2月在闰年时有29天(平年是28天),所以前两个月的总天数是31+29=60天,第三个月是90天,以此类推。

这样,我们可以根据以上规则来计算任意日期是一年中的第几天。

year=input('year:\n')
year=int(year)
month=input('month:\n')
month=int(month)
day=input('day:\n')
day=int(day)
months=(0,31,59,90,120,151,181,212,243,273,304,334)

在第二部分中,我们需要进行月份和闰年的判断。首先,我们可以添加以下的逻辑:

月份判断:一年中正常只有12个月,如果输入的月份不在1到12之间,就应该提示错误。

闰年判断:根据公历规定,能被400整除的年份,或者能被4整除但不能被100整除的年份为闰年。因此,在判断是否为闰年时,我们可以使

在这段代码中,首先判断年份是否能被400整除,或者能被4整除但不能被100整除,如果是,则为闰年。接着,如果月份大于2,则天数需要多加一天。

通过这样的逻辑,我们可以完善计算日期是一年中的第几天的代码。

if 0<month<=12:
    sum =months[month-1]
else:
    print('data error')
sum+=day
leap=0
if(year %400 ==0)or ((year%4==0)and(year&100!=0)):
        leap=1
if(leap==1)and (month>2):
            sum+=1
print('it is the %dth day.'%sum)

下面是一个输入的例子

year:
2015
month:
6
day:
7
it is the 158th day.
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。