python程序设计请计算从公元1年1月_使用Python计算今天距离公元1年1月1日的天数...
最近,在做一个项目时,要求计算当天距离公元1年1月1日的天数(含公元1年1月1日),耗费了我将近半个小时时间。梳理一下思路,以备不时之需。
计算天数Python实现
距离公元1年1月1日的天数?要一天一天计算?有点Low,因为我们计算年份时还有闰年这一干扰项。历史的沙漏漏到今天,一天一天计算近似计算沙漏里面的沙子,有难度啊。呃,我是说,如果没有Python帮忙……
时间的沙漏
Python对于时间计算提供了一些列的库,如time(时间处理函数居多)、datetime(日期时间相关函数)、calendar(日历相关的一些函数)、pandas(貌似里面有关于时间的处理函数),无奈找了半天,没有找到一个能应用于这个问题的函数。我们今天不对具体的库的使用进行分析,而实针对问题提出一个具体解决方案。
Python时间库中没有具体函数哦
我们分三步计算该天数
【今年距离公元0年有多少年】当然这个年份里面有闰年有非闰年,我们分别对其进行计数,然后闰年*366天+非闰年*365天,就可以计算年份对应的天数。
【当年本月之前天数】为了方便计算,我们定义一个函数,输入年份和月份,返回指定月份的天数。函数具体定义如下所示。
获得某月天数
在这里我们使用calendar提供的一个函数isleap来判断一年是否为闰年。当然,要在程序开始之前导入:from calendar import isleap。
【这个月已过天数】这个很简单了,只是返回几号即可。
我们使用程序实现如下图所示。
程序实现代码
好了,到这基本就实现了要求,剩下来的就是我们传入的参数了,我们知道datetime模块中datetime.now()能够返回当时的时间(当然含有日期了),它的返回类似一个元组,我们可以依次提取年、月、日信息
year = datetime.datetime.now()[0]month = datetime.datetime.now()[1]day = datetime.datetime.now()[2]上面的结果直接传入我们定义的函数caldays(year, month, day)即可计算出今天距离公元1年1月1日的天数了。感兴趣的同学们可以试试看,欢迎大家留言讨论。
转载请注明出处(百家号:Python高手养成)
python程序设计请计算从公元1年1月_使用Python计算今天距离公元1年1月1日的天数...相关推荐
- python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程(第二版)》江红 余青松 课后代码题详解...
(还在更新中-) 这本书对Python的知识点的描述很详细,而且排版看的很舒服 几个例题: 假装自己从零开始学,将一些有代表性.有意思的例题抽取出来 部分复习题: 遇到有意思的复习题,我会拿出来,并且 ...
- python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程》教学大纲.doc...
PAGE 1/ NUMPAGES 2 作者:江红.余青松 定价:59元 ISBN:9787302466833 <算法与程序设计>课程教学大纲 Programming and algorit ...
- python程序设计上机实践第三章答案_20192419 实验三《Python程序设计》实验报告
学号 2019-2020-2 <Python程序设计>实验3报告 课程:<Python程序设计> 班级:1924 姓名: 万腾阳 学号:20192419 实验教师:王志强 实验 ...
- python编程求长方体体积_python编程求长方体体积_【Python编程特训连载80】答案公布:圆柱体体积计算...
80 [本期题目↓↓↓] 圆柱也称为圆柱体,是三维几何体的一种.一个圆柱所占空间的大小,叫作这个圆柱的体积.圆柱体积公式为: 其中,S 是底面积,h 是高,r 是底面半径.编写一个程序,用户输入底面半 ...
- python爬取百度贴吧中的所有邮箱_使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号...
原标题:使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号 不知道大家过年都是怎么过的,反正栏主是在家睡了一天,醒来的时候登QQ发现有人找我要一份贴吧爬虫的源代码,想起之前练手的时候写过一个抓 ...
- python实战项目书 题库系统_Python实战视频教程_基于Python项目与面试题实例讲解(进阶训练篇)...
课程介绍: 精选50个Python项目实战与面试容易遇到的问题作为训练任务,每个任务都先提出问题,分析问题.然后给出巧妙与高效的解决办法,最后手把手代码实战完成任务,带你全面提升python项目实战核 ...
- python时间序列分析按月_利用 Python 进行时间序列分析
1. 时间序列分析概述 时间序列分析在金融.气象.交通.宏观经济等诸多领域的应用可以说是非常的广泛.简单点说,时间序列就是在各个时间点上形成的数值序列,而分析的过程就是通过这些数值序列去研究其自身的变 ...
- 用python计算1~100的阶乘之和_在Python中递归函数调用举例and匿名函数lambda求1~100的和及计算阶乘举例...
1.递归列出目录里的文件的脚本举例 列出目录中的文件可以通过下面方法:os.listdir() In [1]: import os In [4]: os.listdir('/root') Out[4] ...
- 用python计算100以内所有奇数的和_用python脚本来计算100以内奇数或者偶数之和
#!/usr/bin/python #coding:utf-8 #while #计算1+2+3+...+100的和 #计算1+3+5...+99的和 sum=0 i=0 while i<=99: ...
最新文章
- java 获取utc,如何在Java 8中获取UTC + 0日期?
- 一作解读Microbiome:所谓的“富集培养”获得的微生物真的都是被“富集”出来的吗?
- 深度学习“见顶”不等于AI寒冬
- 些许注意事项(初学)
- 积累一点小Sql 表的纵横互转玩玩看
- C语言实现的简单的线程池
- Oracle中SQL语句学习五(统计分组语句group by和having)
- 对未标记为可安全执行的脚本_三、??XSS跨站脚本攻击
- Delphi 记录类型- 结构指针
- Apache Hudi 在 B 站构建实时数据湖的实践
- JSP自定义标签入门实例
- MySQL服务安全加固及防护
- Android Design 1: Back键和Up键在App导航中的表现
- html 字符串 放到webbrowser,delphi 直接将html字符串读入WebBrowser中
- 【Unity3D插件】MiniMap插件分享《小地图插件》
- 无线射频识别技术开发与应用学习视频
- Unity实战篇 |制作一个跟随鼠标转向的 简易箭头指示标,包括 UI指向 和 3D指向标
- 通过IMAP方式迁移U-Mail邮件到Exchange 2013之Umail搭建!
- 惠普电脑无故出现第三方屏保
- saas系统项目总结