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中getaddrinfo()基本用法实例分析
Jun 28 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
Python实现压缩与解压gzip大文件的方法
Sep 18 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
分析Python中解析构建数据知识
Jan 20 Python
python逆序打印各位数字的方法
Jun 25 Python
Django添加favicon.ico图标的示例代码
Aug 07 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
python实现五子棋程序
Apr 24 Python
python怎么删除缓存文件
Jul 19 Python
python 调用Google翻译接口的方法
Dec 09 Python
python 递归相关知识总结
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 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
jquery封装的对话框简单实现
2013/07/21 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
Python中的闭包实例详解
2014/08/29 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
Python reduce函数作用及实例解析
2020/05/08 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
shell的种类有哪些
2015/04/15 面试题
机械专业应届生求职信
2013/09/21 职场文书
公司员工的自我评价范例
2013/11/01 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
软件项目实施计划书
2014/05/02 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
2016年党建工作简报
2015/11/26 职场文书
五年级作文之成长
2019/09/16 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android