time模块
常用的一种获取当前时间以及时间格式化的模块,模块名称:time
time模块在Python原生安装中就存在所以不需要进行任何安装操作,直接使用即可,导入方式: import time
常用方法
时间元组
时间格式
import time #回格林威治西部的夏令时地区的偏移秒数 print(time.altzone) #输出为 -32400 #接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"的24个字符的字符串。 print(time.asctime()) #返回可读形式的当前时间 输出为 Sat Nov 23 17:19:13 2019 #返回进程运行时间 print(time.clock()) #第一次调用,返回的是进程运行的实际时间 print(time.clock()) #第二次之后包括第三个的调用是自第一次调用以后到现在的运行时间 #返回当前时间的时间戳(重要) print(time.time()) #输出为 1574503445.9967415 print(time.ctime()) #输出为 Sat Nov 23 18:07:12 2019 #作用相当于asctime(localtime(secs)),未给参数相当于asctime()(重要) times = time.time() print(time.ctime(0)) #输出为 Thu Jan 1 08:00:00 1970 print(time.ctime(times)) #输出为 Sat Nov 23 18:07:12 2019 print(time.gmtime()) #返回时间元组 返回的是格林威治时间元组 #输出为 time.struct_time(tm_year=2019, tm_mon=11, tm_mday=23, tm_hour=10, tm_min=12, tm_sec=19, tm_wday=5, tm_yday=327, tm_isdst=0) #返回时间元组 返回的是当地时间(重要) print(time.localtime()) #输出为 time.struct_time(tm_year=2019, tm_mon=11, tm_mday=23, tm_hour=18, tm_min=13, tm_sec=33, tm_wday=5, tm_yday=327, tm_isdst=0) ''' 时间戳转换为时间元组,将时间元组转换为时间字符串 ''' #获取当前时间戳 times = time.time() #将时间戳转换为时间元组 formatTime = time.localtime(times) #接收以时间元组,并返回指定格式可读字符串表示的当地时间,格式由fmt决定 print(time.strftime('%Y-%m-%d %H:%M:%S',formatTime)) #time.strptime 将时间字符串转换为时间元组 times = '1993-3-27 0:1:2' #转换为时间元祖 formatTime = time.strptime(times,'%Y-%m-%d %H:%M:%S') print(formatTime) #输出为 time.struct_time(tm_year=1993, tm_mon=3, tm_mday=27, tm_hour=0, tm_min=1, tm_sec=2, tm_wday=5, tm_yday=86, tm_isdst=-1) #将时间元组转换为时间戳mktime print(time.mktime(formatTime)) #输出为 733161662.0 # sleep 推迟调用线程的运行,secs指秒数 ''' 输出为 让子弹飞 子弹在飞 子弹到了 ''' for i in range(1): print('让子弹飞') time.sleep(2) print('子弹在飞') time.sleep(2) print('子弹到了')
练习
1、将字符串的时间“2017-10-10 23:40:00”转换为时间戳和时间元组
import time times = "2017-10-10 23:40:00" #将字符串时间转换为时间元组 formatTime = time.strptime(times,'%Y-%m-%d %H:%M:%S') print(formatTime) #输出为 time.struct_time(tm_year=2017, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=1, tm_yday=283, tm_isdst=-1) #将时间元组转换为时间戳 print(time.mktime(formatTime)) #输出为 1507650000.0
2、字符串格式更改,如提time = “2017-10-10 23:40:00”,想改为 time= “2017/10/10 23:40:00”
import time times = "2017-10-10 23:40:00" formatTime = time.strptime(times,'%Y-%m-%d %H:%M:%S') print(time.strftime('%Y/%m/%d %H:%M:%S',formatTime)) #输出为 2017/10/10 23:40:00
3、获取当前时间戳转换为指定格式日期
import time now = time.time() formatTime = time.localtime(now) print(time.strftime('%Y-%m-%d %H:%M:%S',formatTime)) #输出为 2019-11-25 16:09:40
4、获得三天前的时间
import time threeAgo = time.time() - 60*60*24*3 formatTime = time.localtime(threeAgo) print(time.strftime('%Y-%m-%d %H:%M:%S',formatTime)) #输出为 2019-11-22 16:10:29