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 相关文章推荐
Python3安装Pymongo详细步骤
May 26 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
详解Django中六个常用的自定义装饰器
Jul 04 Python
python绘制散点图并标记序号的方法
Dec 11 Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
Python selenium文件上传下载功能代码实例
Apr 13 Python
Jupyter Notebook折叠输出的内容实例
Apr 22 Python
Python reques接口测试框架实现代码
Jul 28 Python
Python如何重新加载模块
Jul 29 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 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 IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
解决Vue项目中tff报错的问题
2020/10/21 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
Python的词法分析与语法分析
2013/05/18 Python
python正则表达式re模块详解
2014/06/25 Python
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
毕业生的自我鉴定
2013/10/29 职场文书
园林资料员岗位职责
2013/12/30 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书