python模块----time模块
三种时间表示
在Python中,通常有这几种方式来表示时间:
- 时间戳(timestamp) : 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
 - 格式化的时间字符串
 - 元组(struct_time) : struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
 
import time # 1 time() :返回当前时间的时间戳 time.time() #1473525444.037215 #---------------------------------------------------------- # 2 localtime([secs]) # 将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。 time.localtime() #time.struct_time(tm_year=2016, tm_mon=9, tm_mday=11, tm_hour=0, # tm_min=38, tm_sec=39, tm_wday=6, tm_yday=255, tm_isdst=0) time.localtime(1473525444.037215) #---------------------------------------------------------- # 3 gmtime([secs]) 和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。 #---------------------------------------------------------- # 4 mktime(t) : 将一个struct_time转化为时间戳。 print(time.mktime(time.localtime()))#1473525749.0 #---------------------------------------------------------- # 5 asctime([t]) : 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。 # 如果没有参数,将会将time.localtime()作为参数传入。 print(time.asctime())#Sun Sep 11 00:43:43 2016 #---------------------------------------------------------- # 6 ctime([secs]) : 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为 # None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。 print(time.ctime()) # Sun Sep 11 00:46:38 2016 print(time.ctime(time.time())) # Sun Sep 11 00:46:38 2016 # 7 strftime(format[, t]) : 把一个代表时间的元组或者struct_time(如由time.localtime()和 # time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个 # 元素越界,ValueError的错误将会被抛出。 print(time.strftime("%Y-%m-%d %X", time.localtime()))#2016-09-11 00:49:56 # 8 time.strptime(string[, format]) # 把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。 print(time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X')) #time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, # tm_wday=3, tm_yday=125, tm_isdst=-1) #在这个函数中,format默认为:"%a %b %d %H:%M:%S %Y"。 # 9 sleep(secs) # 线程推迟指定的时间运行,单位为秒。 # 10 clock() # 这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。 # 而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行 # 时间,即两次时间差。

help(time)
help(time.asctime)
import time #时间戳 time() print(time.time()) #输出 1568256256.1736493 #结构化时间 localtime()、gmtime() print(time.localtime()) #本地时间,输出time.struct_time(tm_year=2019, tm_mon=9, tm_mday=12, tm_hour=10, tm_min=44, tm_sec=16, tm_wday=3, tm_yday=255, tm_isdst=0) print(time.gmtime()) #国际化UTC时间 #time.struct_time(tm_year=2019, tm_mon=9, tm_mday=12, tm_hour=2, tm_min=44, tm_sec=16, tm_wday=3, tm_yday=255, tm_isdst=0) #将时间戳转换为结构化时间 print(time.localtime(1612312212)) #输出time.struct_time(tm_year=2021, tm_mon=2, tm_mday=3, tm_hour=8, tm_min=30, tm_sec=12, tm_wday=2, tm_yday=34, tm_isdst=0) print(time.gmtime(1612312212)) #输出time.struct_time(tm_year=2021, tm_mon=2, tm_mday=3, tm_hour=0, tm_min=30, tm_sec=12, tm_wday=2, tm_yday=34, tm_isdst=0) #将结构化时间转换为时间戳 mktime() print(time.mktime(time.localtime())) #输出 1568256256.0 print(time.mktime(time.gmtime())) #输出 1568227456.0 #将结构化时间转为字符串时间 strftime() print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) #输出 2019-09-12 10:44:16 print(time.strftime("%Y-%m-%d %X",time.gmtime())) #输出 2019-09-12 02:44:16 #将字符串时间转换为结构化时间 #strptime() print(time.strptime("2019-09-12 02:44:16","%Y-%m-%d %X")) #输出结果 time.struct_time(tm_year=2019, tm_mon=9, tm_mday=12, tm_hour=2, tm_min=44, tm_sec=16, tm_wday=3, tm_yday=255, tm_isdst=-1) # asctime() , 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。 # # 如果没有参数,将会将time.localtime()作为参数传入。 print(time.asctime()) #输出 Thu Sep 12 10:53:06 2019 # ctime() 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为 # # None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。 print(time.ctime()) #输出 Thu Sep 12 10:53:06 2019
                    
                
                
            
        
浙公网安备 33010602011771号