首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python-100 练习题 04 判断天数

2019年第 18 篇文章,第 42 篇文章 本文大约 1300 字,阅读大约需要 6 分钟 练习题 4 的网址: http://www.runoob.com/python/python-exercise-example4...思路 判断输入的日期是一年中的第几天,因为一年有12个月,我们可以先考虑计算逐月累计的天数,假设输入的月份是 m,那么前 m-1个月份的天数是可以计算出来的,比如输入的是 2018 年 3 月 5 日,...当然,涉及到日期,年份,都需要考虑闰年闰年的定义如下,来自百度百科 普通闰年: 能被4整除但不能被100整除的年份为普通闰年。...(如2004年就是闰年,1999年不是闰年); 世纪闰年: 能被400整除的为世纪闰年。...is_leap = True if is_leap and month > 2: sums += 1 return sums 测试例子如下,给出两个同样的日期,但年份不同

82320

答粉丝问|用python计算时间间隔

,这里给出了day1和day2来分别表示平闰年每月之前的天数。...根据定义,如果被100整除时,能被400整除就是闰年,不能被400整除就是平年;如果不能被100整除,那能被4整除就是闰年,不然就是平年,然后通过该年天数减去从上面给出输入月份之前的天数和该月的天数最后得到...pingnian += 1 zongday = runnian*366 +pingnian*365 + jieshu + kaishi 这里先给runnian和pingnian赋值为0,当开始与结束年份同时...,用for循环判断两个年份之间的年份闰年和平年,分别加在runnian和pingnian上,最后把中间每年的天数加起来(包括闰年天数,平年天数,开始一年剩余的天数,最后一年剩余的天数),得到总和zongday...kaishi) else: zongday = jieshu - (365 - kaishi) print("两时间间隔%d天"%zongday) 这是当两个年份同时

2.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

一周技术学习笔记(第83期)-时间和空间到底哪一个更经济

上图选自《架构修炼之道》第一章 算法的时间复杂度 在计算一个算法的时间复杂度的时候,可以通过的执行次数T(n)是关于问题规模n的函数来表示。 通过分析T(n)随n的变化情况确定T(n)的数量级。...随后我们对所有的年份下标的数字做对应,如果是闰年年份下标对应的数组元素的值就是1,否则是0。 这样我们通过索引的方式能很快获取输入的年份是否闰年。 当然,上述方法是利用了增加数组空间存储的方式。...如果不这样做,就需要我们写那么一个算法,当程序接收到一个年份的时候,就可以通过这个算法计算出所给年份是否是闰年。 当然,这样做就要耗费CPU计算性能。...随着这种技术发展遇到了瓶颈,于是大家开始横向扩展,拼CPU的核,多少多少核。...这是不是也是一种空间换时间呢,核增加了势必要积压原本狭小的计算内部硬件空间,但同时确实换来了计算机整体计算性能的提升。

27520

简明PHP进阶【7-日期和时间】

format格式参数在这里简单介绍几个: "Y"四位数字完整表示年份,"y"两位数字表示年份, "M"三个字母表示月份,"m"数字表示月份, "D"星期中的第几天,"d"月份中的第几天, "H"24小时格式...,"h"12小时格式, "I"判断是否为夏令时, "i"分钟, "s"秒数。...> 2019 [yday] => 273 [weekday] => Tuesday [month] => October [0] => 1569930288 ) 3 检验日期是否有效 就像不是闰年年份...month的有效值为1-12,day需要在给定的月份天数内,包括闰年,year的值在1-32767之间有效。 <?...4 获取当前时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的毫秒数。

1.1K10

一名程序员的时空观

上图选自《架构修炼之道》第一章 算法的时间复杂度 在计算一个算法的时间复杂度的时候,可以通过的执行次数T(n)是关于问题规模n的函数来表示。 通过分析T(n)随n的变化情况确定T(n)的数量级。...随后我们对所有的年份下标的数字做对应,如果是闰年年份下标对应的数组元素的值就是1,否则是0。 这样我们通过索引的方式能很快获取输入的年份是否闰年。 当然,上述方法是利用了增加数组空间存储的方式。...如果不这样做,就需要我们写那么一个算法,当程序接收到一个年份的时候,就可以通过这个算法计算出所给年份是否是闰年。 当然,这样做就要耗费CPU计算性能。...随着这种技术发展遇到了瓶颈,于是大家开始横向扩展,拼CPU的核,多少多少核。...这是不是也是一种空间换时间呢,核增加了势必要积压原本狭小的计算内部硬件空间,但同时确实换来了计算机整体计算性能的提升。

71820

shell脚本案例-判断闰年

案例需求 闰年判断:判断某年是否问闰年 闰年判断方法: 普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1900年不是闰年) 世纪闰年:能被400整除的为世纪闰年。...(如2000年是世纪闰年,1900年不是世纪闰年) 脚本应用场景: 时间类型脚本总总时间的统计。 解决问题 时间计算某一年到某一年天的统计 ,解决了闰年、平年的天数不同的问题。.../bin/bash # #Author: www.zutuanxue.com #Created Time: #Release: #Description:闰年判断脚本 #variables...#main #1、交互输入要判断的年 read -p "输入一个年份: " year #2、判断 if [ -z "$year" ];then echo "$0 year" exit...1 elif (($year%400==0));then #3、输出结果 echo "$year: 闰年" elif (($year%4==0));then echo "$year: 闰年"

1.5K20

致敬昨晚熬夜改 bug 的技术团队!连 OpenAI 也躲不过:为什么几行代码能反复干翻大批软件

据称该 bug 是个闰年问题。闰年是指该年有 366 日,即较平常年份多出一日。闰年是为了弥补因人为历法规定的年度天数 365 日和平均回归年的大约 365.24219 日的差距而设立的。...这些还都是登上头条的大新闻,我们相信肯定还有不计其的小问题也曾发生,并在不同程度上影响到很多无辜用户和项目开发者。...再次强调,千万不要具体计算需要添加的天数来解决问题——那更容易出错,除非你真的很有经验、清醒地知道自己在干什么。 其他常见错误 开发人员曾犯下过很多跟闰年相关的错误,例如: 弄错了闰年算法。...使用此类数组时,必须考虑闰年的第 29 天。更好的办法当然是为闰年创建一套跟平年不同的数组,而一步到位的答案则是直接使用 API(如果可行),尽量别自己亲自计算。...全年测试,而非只在闰年之前测试。 验证所有输入,包括配置部分。 验证结果并完成场景,同时制定故障应对策略!

20810

打印1000年到2000年之间的闰年

闰年计算规则 经过天文家的精确计算,总结出下面三条闰年计算规则。 1、非整百年:能被4整除而不能被100整除的为闰年。...(如2000年是闰年,3200年不是闰年) 3、对于数值很大的年份:这年如果能整除3200,并且又能整除172800则是闰年。如172800年是闰年,86400年不是闰年。...以上规则比较复杂,我们通常需要记住的简单规则就是:能被4整除而不能被100整除的、能被400整除的年份都是闰年。毕竟,咱们活不到3200年。也就是我们常说的四年一闰,百年不闰,四百年再闰。...上面的规则说到了3个:可被4整除的(记为A)、可被100整除的(记为B)、可被400整除的(记为C)。 可被400整除的一定能被100整除,可被100整除的一定能被4整除。...于是出现了下图的包含关系: 根据规则:能被4整除而不能被100整除的、能被400整除的年份都是闰年。那么上图中的白色阴影部分代表的年份就是闰年

21040

SQL函数 WEEK

描述WEEK 接受一个日期表达式,并返回该日期年初开始的周数。默认情况下,使用 $HOROLOG 日期( 1840 年 12 月 31 日开始的正整数或负整数天数)计算周数。...因此,周数是逐年计算的,因此第 1 周是完成从上一年最后一周开始的 7 天期间的天数。一周总是星期日开始;因此,日历年的第一个星期日标志着第 1 周到第 2 周的变化。...一年中的周数通常为 53,闰年可能为 54。IRIS 还支持确定一年中星期的 ISO 8601 标准。该标准主要用于欧洲国家。...当配置为 ISO 8601 时,WEEK 星期一开始计算星期,并将星期分配给包含该星期星期四的年份。...年份必须指定为四位。日期值必须在有效范围内。年:0001 到 9999。月:1 到 12。日:1 到 31。一个月的天数必须与月份和年份相匹配。例如,日期“02–29”仅在指定年份闰年时有效。

1.6K10

数据库时间出现'00000000',难道我穿越了?

说明:在Oracle中,date类型的数据的取值范围是-4712/12/31到9999/12/31之间,年份不能为0。并且12.1开始,对于小时和分钟做了更精确的判断。...逻辑上来讲,1500和1000并不属于闰年,因此2月28加上两天结果应该是3月2日,但此时两个结果都很明显算进去了不存在的2月29日。 ? 这是怎么回事?...并开始了新闰年规定。即规定公历年份是整百的,必须是400的倍数才是闰年,不是400的倍数的就是平年。...简单来说,就是1582之后才有闰年计算标准,因此在上面的测试中,由于1600是闰年1700开始的结果是正确的。...结论二:由于闰年计算标准始于1582年,Oracle对于这个时间点前后的数据处理方式不一样,1582之前的数据,不做闰年校验,默认2月29天;1582之后才开始校验。

1.2K60

2015年编程之美(资格赛) ---2月29日

时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个日期,计算这两个日期之间有多少个2月29日(包括起始日期)。...只有闰年有2月29日,满足以下一个条件的年份闰年: 1. 年份能被4整除但不能被100整除 2. 年份能被400整除 输入 第一行为一个整数T,表示数据组。 之后每组数据包含两行。...X为数据组1开始,Y为答案。...方法有很多,但是要说到高效率的话,用这个还是不错的, year/4 -year/100 +year/400 ; 但是由于还是要找到最近的闰年年份才能算简化这道题、代码如下 代码: 1 //...= 0) { 55 aa.mon = i; 56 return; 57 } 58 } 59 } 60 61 //计算年份年份间有多少个闰年

77250

如何计算两个日期之间的天数

然后,根据月份和是否为闰年调整这个天数,包括在月份之前的所有天数和当前月份中的天数(通过day - 1计算,因为天数是1开始的)。...将天数转换为秒 (abs): 计算出的天数乘以每天的秒数(secondsPerDay),加上当前天中已经过去的小时、分钟和秒数所对应的秒数,得到abs。这个值是自绝对纪元以来的秒数。...(Gregorian calendar)下,1年1月1日到给定年份(此处应该是到1970年,因为公元前1年的话是0)的天数。...1969/4:每四年有一个闰年闰年有366天。这部分计算1年到1969年间包含的闰年数量,因为每个闰年会多出一天。...- 1969/100:格里高利历规则中,每100年会跳过一个闰年(即那一年不作为闰年),这部分减去这些年份中多计算的天数。

13610
领券