time 模块

时间的表示方法 分为3种 

  1.格式化的字符串格式 

   如 2017-11-30 16:02:30

  2. 时间戳

  时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量

  

1 >>> import time  
2 >>> time.time()
3 1512029179.848          # 时间戳

 

  3. 元组的方式表达

  总共有9个值

  

1 >>> import time
2 >>> time.localtime()
3 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=16, tm_min=9, tm_sec=37, tm_wday=3, tm_yday=334, tm_isdst=0) 

 

索引(Index)属性(Attribute)值(Values)
0 tm_year(年) 比如2011
1 tm_mon(月) 1 - 12
2 tm_mday(日) 1 - 31
3 tm_hour(时) 0 - 23
4 tm_min(分) 0 - 59
5 tm_sec(秒) 0 - 61
6 tm_wday(weekday) 0 - 6(0表示周日)
7 tm_yday(一年中的第几天) 1 - 366
8 tm_isdst(是否是夏令时) 默认为-1

 

 

time模块的常用方法

  1. time.time()  获取时间戳

  2. time.sleep()  停顿多长时间,参数为秒 

  3. time.gmtime()  没有参数的时候,获取当前 UTC时间的 元组形式 的时间表达方法,

  参数为时间戳的时候,获取 时间戳的UTC时间的 元组形式的时间

  

1 >>> import time
2 >>> time.gmtime()                   # 没参数。获取的是 当前UTC时间的 元组形式
3 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=8, tm_min=32, tm_sec=36, tm_wday=3, tm_yday=334, tm_isdst=0)
4 >>> time.gmtime(1512029179.848)       #参数为时间戳
5 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=8, tm_min=6, tm_sec=19, tm_wday=3, tm_yday=334, tm_isdst=0)

  4.time.localtime()

  当前 本地时间的 元组形式的表达

  可以传入参数,参数为时间戳, 返回的是 时间戳表示的 本地时间

1 >>> time.localtime()
2 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=16, tm_min=38, tm_sec=55, tm_wday=3, tm_yday=334, tm_isdst=0)

  gmtime 和 localtime 都是将 时间戳格式转换成 元组形式,区别是  gmtime转化成 UTC时间, localtime 转化成本地时间也就是UTC + 8小时.

  localtime 值的获取方法

  

1 >>> t = time.localtime()
2 >>> t.tm_hour
3 16
4 >>> t.tm_min
5 47

  5. time.mktime()  将元组的时间 转换成 时间戳的格式

1 >>> import time
2 >>> t = time.localtime()
3 >>> time.mktime(t)
4 1512032229.0

   6.strftime()   将一个元组时间 转换成 格式化时间 

  参数格式 strftime(‘格式’, 元组形式的时间)

  将一个元组时间 转换成 格式化时间 

  

 1 >>> import  time
 2 >>> t = time.localtime()
 3 >>> t
 4 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=2, tm_sec=20, tm_wday=3, tm_yday=334, tm_isdst=0)
 5 >>> time.strftime(%Y - %m - %d , t)    # 注意加引号
 6 SyntaxError: invalid syntax
 7 >>> time.strftime('%Y - %m - %d ', t)
 8 '2017 - 11 - 30 '
 9 >>> time.strftime('%Y - %m - %d  %H : %M : %S', t)
10 '2017 - 11 - 30  17 : 02 : 20'
11 >>> time.strftime(' %H : %M : %S %Y - %m - %d  ', t)
12 ' 17 : 02 : 20 2017 - 11 - 30  '

   7. time.strptime() 将一个格式化字符串的时间 转换成 一个元组的形式

  

1 >>> import time
2 >>> time.localtime() 
3 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=23, tm_sec=9, tm_wday=3, tm_yday=334, tm_isdst=0)
4 >>> time.strftime('%Y - %m - %d  %H : %M : %S',time.localtime())
5 '2017 - 11 - 30  17 : 24 : 05'
6 >>> time.strptime('2017 - 11 - 30  17 : 24 : 05' , '%Y - %m - %d  %H : %M : %S')  # 传入的字符串时间 的顺序,必须和后面格式的时间 一一对应
7 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=24, tm_sec=5, tm_wday=3, tm_yday=334, tm_isdst=-1)

 

  

 

二    time.asctime()

  time.asctime([t]):把一个表示时间的元组表示为这种形式:'Sun Jun 20 23:21:05 1993'。如果没有参数,将会将time.localtime()作为参数传入。

 

  time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。

  

 

 

 

 

 

 

  

 

posted on 2017-11-30 16:51  jiayou888888  阅读(136)  评论(0编辑  收藏  举报

导航