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获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
python中的错误处理
Apr 10 Python
判断网页编码的方法python版
Aug 12 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
Python中is与==判断的区别
Mar 28 Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 Python
pytorch 自定义卷积核进行卷积操作方式
Dec 30 Python
python实现简单的tcp 文件下载
Sep 16 Python
pycharm 复制代码出现空格的解决方式
Jan 15 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 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中余数、取余的妙用
2015/06/29 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
dojo 之基础篇
2007/03/24 Javascript
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
移动节点的jquery代码
2014/01/13 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
python 搜索大文件的实例代码
2019/07/08 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
中专自我鉴定范文
2013/10/16 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
高级编程求职信模板
2014/02/16 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python