天天看点

《Python语言程序设计》——2.12 实例研究:显示当前时间

本节书摘来自华章计算机《python语言程序设计》一书中的第2章,第2.12节,作者:[美]梁勇(y. daniel liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

这里的问题是编写一个显示当前gmt时间的程序,格式为小时:分钟:秒,例如,13:19:18。time模块中的time()函数返回以毫秒为精度的从1970年1月1日00:00:00开始到现在的gmt时间,如图2-1所示。这个时间被称作unix时间点。这个时间点是时间的开始。1970年是unix操作系统正式发布的年份。例如:time.time()返回1285543663.205,它表示1285543663秒205微秒。

《Python语言程序设计》——2.12 实例研究:显示当前时间

你可以利用这个函数获取当前的时间,然后计算出当前秒数、分数和小时数,如下所示:

1)通过调用time.time()获取当前时间(自1970年1月1日零时起)(例如,1203183068.328)。

2)使用int函数来获取总秒数totalseconds(int(1203183068.328)=1203183068)。

3)用totalseconds%60来求现在的秒数(1203183068seconds%60=8,即当前的秒数)。

4)用totalseconds除以60求总分钟数totalminutes(1203183068seconds//60=20053051分钟)。

5)用totalminutes%60来求当前分钟数(20053051minutes%60=31,即现在的分钟数)。

6)用totalminutes除以60来求总小时数totalhours(20053051minutes//60=334217小时)。

7)从总小时数totalhours%24来求现在的小时数(334217hours%24=17,即当前小时数)。

程序清单2-7给出这个完整的程序。

程序清单2-7 showcurrenttime.py

《Python语言程序设计》——2.12 实例研究:显示当前时间

https://yqfile.alicdn.com/b838071738bca94a201d24b3de94a5ffdfd50b73.png

" >

《Python语言程序设计》——2.12 实例研究:显示当前时间

第3行调用time.time()返回以秒为单位的带微秒精度的浮点值表示的当前时间。秒数、分钟数和小时数是通过//和%运算符从当前时间中计算出的(第6~21行)。

在示例运行中,显示数字8为秒数。而希望的输出应该是08。这可以使用一个在一个数字前加0的函数来修正(参见编程题6.48)。

检查点

2.19 什么是unix时间点?

2.20 time.time()返回的是什么?

2.21 如何从time.time()的返回值中获取秒数?