Python自定义函数计算给定日期是该年第几天的方法示例


Posted in Python onMay 30, 2019

本文实例讲述了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:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.3water.com/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.3water.com/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

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

Python 相关文章推荐
Python 中开发pattern的string模板(template) 实例详解
Apr 01 Python
Python 实现随机数详解及实例代码
Apr 15 Python
python调用staf自动化框架的方法
Dec 26 Python
详解python-图像处理(映射变换)
Mar 22 Python
基于Python的PIL库学习详解
May 10 Python
python实现超市商品销售管理系统
Oct 25 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
浅谈Python 参数与变量
Jun 20 Python
如何让python的运行速度得到提升
Jul 08 Python
为什么说python更适合树莓派编程
Jul 20 Python
用python画城市轮播地图
May 28 Python
python基于turtle绘制几何图形
Jun 15 Python
基于Python打造账号共享浏览器功能
May 30 #Python
Python实现带下标索引的遍历操作示例
May 30 #Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
May 29 #Python
python2和python3在处理字符串上的区别详解
May 29 #Python
python TF-IDF算法实现文本关键词提取
May 29 #Python
详解Python odoo中嵌入html简单的分页功能
May 29 #Python
Python 3.8中实现functools.cached_property功能
May 29 #Python
You might like
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
php读取html并截取字符串的简单代码
2009/11/30 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
python求最大值最小值方法总结
2019/06/25 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
2014年基层党组织公开承诺书
2014/03/29 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
教师节标语大全
2014/10/07 职场文书
英文感谢信格式
2015/01/21 职场文书
荆州古城导游词
2015/02/06 职场文书
2016新年致辞
2015/08/01 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL
改造DE1103三步曲
2022/04/07 无线电