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中模拟enum枚举类型的5种方法分享
Nov 22 Python
Python中扩展包的安装方法详解
Jun 14 Python
python中实现延时回调普通函数示例代码
Sep 08 Python
Python 列表理解及使用方法
Oct 27 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
python实现批量修改文件名
Mar 23 Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 Python
Python xlwt模块使用代码实例
Jun 10 Python
Python 随机按键模拟2小时
Dec 30 Python
Python jiaba库的使用详解
Nov 23 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:风雨欲来 路在何方?
2006/10/09 PHP
用PHP查询域名状态whois的类
2006/11/25 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
php中的异常和错误浅析
2017/05/03 PHP
Laravel 修改默认日志文件名称和位置的例子
2019/10/17 PHP
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
python中循环语句while用法实例
2015/05/16 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
Python中交换两个元素的实现方法
2018/06/29 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
html5清空画布方法(三种)
2017/10/16 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
法国二手手袋、手表和奢侈珠宝购物网站:Collector Square
2018/07/05 全球购物
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
珍珠奶茶店创业计划书
2014/01/11 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
党员岗位承诺书
2014/03/25 职场文书
合作意向书范本
2014/03/31 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript
mysql 获取时间方式
2022/03/20 MySQL
Java版 单机五子棋
2022/05/04 Java/Android