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
time模块练习

 

posted @ 2019-09-12 09:50  Mr-谢  阅读(79)  评论(0)    收藏  举报