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 struct模块解析
Jun 12 Python
Python检测QQ在线状态的方法
May 09 Python
Python自动发邮件脚本
Mar 31 Python
Django如何实现内容缓存示例详解
Sep 24 Python
python实现自动登录后台管理系统
Oct 18 Python
对python字典过滤条件的实例详解
Jan 22 Python
微信小程序python用户认证的实现
Jul 29 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
Tensorflow 卷积的梯度反向传播过程
Feb 10 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 Python
python进行二次方程式计算的实例讲解
Dec 06 Python
java关于string最常出现的面试题整理
Jan 18 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
2011/04/08 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
jQuery中[attribute=value]选择器用法实例
2014/12/31 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
玩转python爬虫之URLError异常处理
2016/02/17 Python
python僵尸进程产生的原因
2017/07/21 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
python生成ppt的方法
2018/06/07 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
python字符串循环左移
2019/03/08 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
python opencv调用笔记本摄像头
2019/08/28 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
小车司机岗位职责
2013/11/25 职场文书
董事长岗位职责
2013/11/30 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
合伙协议书
2014/04/23 职场文书
面试复试通知单
2015/04/24 职场文书
检讨书格式范文
2015/05/07 职场文书
被告代理词范文
2015/05/25 职场文书
小学运动会开幕词
2016/03/04 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang
分享几种python 变量合并方法
2022/03/20 Python