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 相关文章推荐
py2exe 编译ico图标的代码
Mar 08 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
python正则实现提取电话功能
Feb 24 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
python try except返回异常的信息字符串代码实例
Aug 15 Python
GDAL 矢量属性数据修改方式(python)
Mar 10 Python
使用SQLAlchemy操作数据库表过程解析
Jun 10 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 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查询搜索引擎排名位置的代码
2010/01/05 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
浅谈JS中String()与 .toString()的区别
2016/10/20 Javascript
微信小程序动态显示项目倒计时效果
2017/06/13 Javascript
JS实现留言板功能
2017/06/17 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
python操作excel让工作自动化
2019/08/09 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
Python 如何在字符串中插入变量
2020/08/01 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
python 两种方法删除空文件夹
2020/09/29 Python
销售职业生涯规划范文
2014/03/14 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
三年级学生评语
2014/04/23 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
消防隐患整改通知书
2015/04/22 职场文书
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python