1、time模块
1.1 time.time()函数
编程中常用的参考时间为:1970年1月1日0点。time.time()函数返回从那一刻到现在的秒数,是一个浮点数。
import time print(time.time())
>>1528168656.5038412
也可以用time.time()函数来测量一段代码运行的时间。在代码开始时调用time.time(),并在结束时再次调用,用结束时调用的减去开始时调用的,得到两次调用之间经过的时间。
import time def cal(): product = 1 for i in range(1,100000): product = product * i return product start = time.time() pro = cal() end = time.time() print('用时为:',end - start)
>> 用时为: 52.08997941017151
1.2 time.sleep()函数
如果需要程序暂停一下,就调用time.sleep()函数,并且传入想要暂停的秒数。
import time for i in range(3): print('Tick') time.sleep(1) print('Tock') time.sleep(1)Tick
Tock
Tick
Tock
Tick
Tock
for循环打印Tick后暂停一秒,打印Tock后暂停一秒,打印Tick暂停一秒,如此循环。
不用time.sleep()函数,会在很短时间内打印出结果。
2、datetime模块
datetime模块有自己的datetime数据类型,datetime值表示一个特定的时刻。
import datetime print(datetime.datetime.now())#返回一个datetime对象,表示当前的日期和时间
》》2018-06-05 12:26:09.252077
import datetime dat = datetime.datetime(2018,6,5,12,35,45)#传入代表年、月、日、时、分、秒的整数,得到特定时刻datetime对象 print(dat) print(dat.year,dat.month,dat.day,dat.hour,dat.minute,dat.second)
>>2018-06-05 12:35:45 >>2018 6 5 12 35 45
import datetime import time dat = datetime.datetime.fromtimestamp(1200000000)#表示1970年1月1日0时后1200000000秒的时刻 dt = datetime.datetime.fromtimestamp ( time.time())#当前时刻的datetime对象 print(dat) print(dt)
datetime.datetime.now()和datetime.datetime.fromtimestamp(time.time())做的事情相同》》2008-01-11 05:20:00
》》2018-06-05 12:42:14.168267
2.1 timedelta类型
datetime模块还提供了timedelta数据类型,表示一段时间而不是一个时刻。
import datetime dat = datetime.timedelta(days=11,hours=10,minutes=9,seconds=8)#datetime.timedelta()函数接受关键字weeks、days、hours、minutes、seconds、milliseconds和microseconds。没有month和year关键字参数,“月”和“年”是可变时间。 dt = dat.total_seconds() tm =str(dat) print(dat) print(dt) print(tm) print(dat.days,dat.seconds,dat.microseconds)
》》11 days, 10:09:08 》》986948.0 》》11 days, 10:09:08 》》11 36548 0
import datetime dt = datetime.datetime.now()#现在的时间 dat = datetime.timedelta(days=1100)#也可以加入minutes等参数 day = dt + dat#1100天以后的时间,相加得到一个datetime对象 print(day)》》2021-06-09 13:05:12.623110