首页 > 编程知识 正文

python输入月份判断天数,python编程:从入门到实践

时间:2023-05-03 05:59:12 阅读:146273 作者:702

主题

知道任意两个日期,并计算两个日期之间的天数。

实现构想1

这里使用Python内置的模块time来解决问题。

我知道两个日期,格式是yyyy-mm-dd

使用time.strptime ()方法将日期和时间字符串分析为时间元组

使用time.mktime ()方法将时间的始祖转换为时间戳

根据与两个日期对应时间戳,得到两个日期不同的秒数,计算间隔天数

代码实现

导入时间

defdemo (第一天,第二天) :

time _ array1=time.strp time (第1天,' %Y-%m-%d ' ) )

timestamp_day1=int(Time.MkTime ) Time_array1) )

time _ array2=time.strp time (第2天,' %Y-%m-%d ' ) )

timestamp_day2=int(Time.MkTime ) Time_array2) )

result=(timestamp _ day2- timestamp _ day1)//60 //60 //24

返回结果

day1='2018-07-09 '

day2='2020-09-26 '

day _ diff=demo (第一天,第二天) )。

print ()两个日期之间的间隔天数) }.format (day _ diff ) ) ) )。

实现构想2

这里不用时间函数处理问题。 首先,可以计算每个日期从公元元年1月1日开始的总天数,求出两个日期的间隔天数。

有必要判断是不是闰年。 闰年的情况下,该年的天数为365天

用列表保存每月的天数。 在给定的两个日期中,如果年份是闰年,则2月的天数为28 1

根据给出的日期调查年月日,分别计算从公元元年1月1日开始的两个日期的合计天数

通过减去两个总天数,可以求出两个日期之间的天数

注意:

闰年的计算方法是“四年一闰,百年一闰,四百年再闰”。 也就是说,一般有以下两个条件。

不能被4整除,不能被100整除的是闰年

闰年能被400整除

代码实现

defis_leap_year(year ) :

if(year%4==0andyear0!=0) or year % 400==0:

返回1

else:

返回0

defget_days(year,month,day ) :

days=0

month _ days=[ 31、28、31、30、31、31、31、31、31、30、30、30、31 ]

ifis_leap_year(year ) :

month_days[1]=29

forIinrange(1,year ) :

year_day=365

fis_leap_year(I ) :

year_day=366

days =year_day

公式范围(month-1 ) :

days =month_days[m]

日期=日期

返回日期

defget_result(start_time,end_time ) :

res=end_time - start_time

返回RES

年1,month1,day1=2018,7,9

年2,month2,day2=2020,9,26

days1=get_days(year1,month1,day1) )。

days2=get_days(year2,month2,day2) )。

day_diff=get_result(days1,days2) )。

print ()两个日期之间的间隔天数) }.format (day _ diff ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。