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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 首先月日怎么判断呢?以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.
相关文章
|
3天前
|
存储 监控 Python
python 日期字符串转换为指定格式的日期
python 日期字符串转换为指定格式的日期
18 3
|
3天前
|
算法 Python
78: 计算生日是星期几(python)
78: 计算生日是星期几(python)
|
6月前
|
C语言
C语言每日一题 ----计算日期到天数转换(Day 2)
C语言每日一题 ----计算日期到天数转换(Day 2)
65 0
|
11月前
|
Python
Python|判断闰年与平年
Python|判断闰年与平年
611 0
|
12月前
|
C++ Python
刷题笔记|计算两个年份间某一日期是周末的天数,发现ctime库对象有时间范围(C++|Python )
刷题笔记|计算两个年份间某一日期是周末的天数,发现ctime库对象有时间范围(C++|Python )
223 0
|
12月前
|
编解码 Python
昨天、今天、明天|Python用datetime库自定义函数返回日期格式字符串
昨天、今天、明天|Python用datetime库自定义函数返回日期格式字符串
162 0
|
Python
Python经典编程习题100例:第16例:输出指定格式的日期
Python经典编程习题100例:第16例:输出指定格式的日期
84 0
|
Python
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
346 1
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
|
Python
python判断年份是否为闰年
python判断年份是否为闰年
89 0
python判断年份是否为闰年
|
Python
python输出日历(年份,月份可自己指定)
python输出日历(年份,月份可自己指定)
213 0
python输出日历(年份,月份可自己指定)

热门文章

最新文章