Python中内置的模块time主要是针对时间;内置模块datetime主要是针对日期而言;两者分别生成的时间对象和日期对象是可以相互转换的。
Python中使用time.time()
获取当前时间,返回代表当前时间的浮点型小数,时间的单位是秒(s)。这里返回的数字,是指针对1970年1月1日北京时间上午8点整(用UTC时间来算,就是1970年1月1日0点0分0秒)这个时间点,而过去了的秒数。
其实不需要知道这么细,只需要知道返回的这个数字能代表当前时间即可。
>>> import time >>> t = time.time() >>> t 1551622717.027518 >>> type(t) <type 'float'>
使用time模块的time方法,可在某段程序运行的首尾记录一下时间,最后相减即可获得该段程序的运行耗时:
import time t1 = time.time() # begin for i in xrange(10000): pass t2 = time.time() # end print t2 - t1
使用time.sleep(n)
可使程序暂停执行n秒。如下例所示,每隔2秒,输出一个整数。(该示例请本地测试,专否沙盒对延时有限制,无法测试本例)
import time for i in xrange(7): print i time.sleep( 2 )
Python内置的datetime模块,主要用来对创建与处理日期对象。如下所示,通过datetime.datetime.now()
可获得当前日期对象。
>>> import datetime >>> now = datetime.datetime.now() >>> now datetime.datetime(2019, 3, 3, 22, 44, 44, 271057) >>> print now 2019-03-03 22:44:44.271057
上述获取的datetime对象的内置函数和属性很多,示例如下:
>>> import datetime >>> now = datetime.datetime.now() >>> now datetime.datetime(2019, 3, 3, 22, 44, 44, 271057) >>> now.year 2019 >>> now.month 3 >>> now.day 3 >>> now.hour 22 >>> now.isocalendar() (2019, 9, 7) >>> now.isoweekday() 7 >>> now.isoformat() '2019-03-03T22:44:44.271057' >>> now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.") '03-03-19. 03 Mar 2019 is a Sunday on the 03 day of March.'
使用datetime还可以构建指定日期作为datetime对象。
>>> import datetime >>> birthday = datetime.datetime( 1900, 12, 25 ) >>> birthday datetime.datetime(1900, 12, 25, 0, 0) >>> print birthday 1900-12-25 00:00:00
两个datetime变量可以比较大小、相减。
>>> import datetime >>> birthday = datetime.datetime( 1900, 12, 25 ) >>> now = datetime.datetime.now() >>> birthday == now False >>> birthday < now True >>> age = now - birthday >>> age datetime.timedelta(43167, 84754, 287277) >>> print age.days 43167
本章只是简单介绍time模块和datetime模块的常用方式;如若遇到进一步需求,可查看模块的reference说明来进行深入研究。写代码嘛,跟着感觉走;把握基础常用的内容即可;遇到具体问题,再搜索找资料来看呗~