time和datetime的区别

之前,我们已经介绍过了python中的datetime模块,time的功能在很大程度上和datetime比较类似,也是用于处理日期和时间的。但是如果你要处理日期的话,使用datetime要更好。因此建议不需要通过time来处理日期,仅通过time来获取时间就可以了。

使用时间

时间戳:时间戳是一个数字,它记录了从1970年开始,到现在,总共经历了多长时间。因此,在很多情况下,我们不需要记录时间,只需要记录下时间戳,就可以使用时间了。

时间元组:时间元组是time中记录时间的一种方式,通过time.struct_time形式的一个时间元组,记录了时间。

时间元组的参数

tm_year 年

tm_mon 月

tm_mday 日

tm_hour 小时

tm_min 分钟

tm_sec 秒

tm_wday 星期,0代表星期一,6代表星期日

tm_yday 这一天是这一年中的第几天

tm_isdst 夏令时的标志

tm_year=2021, tm_mon=11, tm_mday=6, tm_hour=12, tm_min=50, tm_sec=58, tm_wday=5, tm_yday=310, tm_isdst=0

因此,通过时间戳和时间元组,我们可以得到以下的使用方法 

1,获取当前的时间戳

time.time()

2,通过时间戳,得到一个时间元组

time.localtime(时间戳)

3,通过时间元组,得到一个时间戳

time.mktime(时间元组)

时间格式化字符串

时间格式化字符串的使用方式,我们已经在datetime模块中详细介绍过了,因此,如果你还不知道如何使用时间格式化字符串的话,请参考我们之前写过的datetime模块的时间格式化字符串部分。

time.strftime(格式化字符串方式, 时间元组) 得到一个格式化字符串

time.strptime(字符串,格式化字符串的方式) 得到一个时间元组

比如说,我们使用"%Y-%m-%d"这种格式化字符串方式(详细的使用方法在datetime模块中,如果你还不会请一定要去看看!) 

import time

t1 = time.strptime("2021-11-06", "%Y-%m-%d") # 通过时间格式化字符串的反向拆分,得到了时间元组

print(t1)

t2 = time.strftime("%y/%m/%d", t1) # 将时间元组组成了新的形式的格式化字符串

print(t2)

让程序暂停一段时间

time.sleep(秒数) 推迟当前线程的运行

1,要注意的是,time.sleep()只会推迟当前线程,而不是暂停整个程序。

2,time.sleep()的推迟时间,并不是精确时间,尤其在你的操作系统进入待机状态后,这段时间计时也可能被停止,而并非是准确的定时功能。