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抓取豆瓣图片并自动保存示例学习
Jan 10 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
python清除字符串里非字母字符的方法
Jul 02 Python
Python 的描述符 descriptor详解
Feb 27 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
Python3 模块、包调用&路径详解
Oct 25 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
python os模块常用的29种方法使用详解
Jun 02 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
第六章 php目录与文件操作
2011/12/30 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
php制作文本式留言板
2015/03/18 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
flexigrid 参数说明
2010/11/23 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
Python 返回汉字的汉语拼音
2009/02/27 Python
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
Python是编译运行的验证方法
2015/01/30 Python
python通过ssh-powershell监控windows的方法
2015/06/02 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
kafka-python批量发送数据的实例
2018/12/27 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
python重要函数eval多种用法解析
2020/01/14 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
linux比较文件内容的命令是什么
2015/09/23 面试题
解除劳动合同通知书范本
2015/04/16 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers