Python_面向对象_time模块

--time 时间模块
#time() 获取本地当前时间戳

#ctime() 获取本地时间字符串格式(默认当前,可以指定时间戳)
#mktime() 通过时间元组获取时间戳(参数是时间元组)
#asctime() 通过时间元组获取时间字符串(参数是时间元组)
#localtime() 获取本地时间元组(默认当前,可以指定时间戳)
#sleep() 程序睡眠等待
#strftime() 格式化时间字符串(格式化字符串,时间元祖)
#strptime() 将时间字符串通过指定格式提取到时间元组中(时间字符串,格式化字符串)
#perf_counter() 用于计算程序运行的时间

*--不常用的属性函数(了解)
*gmtime() 获取UTC时间元祖
*time.timezone 获取当前时区(时区的时间差)
*time.altzone 获取当前时区(夏令时)
*time.daylight 获取夏令时状态
======================================================================================

import time

#time() 获取本地当前时间戳 
res = time.time() #1533023431.2309883
print(res)

 

#ctime() 获取本地时间字符串格式(默认当前,可以指定时间戳)
# 默认拿当前时间戳 得到 时间字符串
res = time.ctime()
print(res)

 

# 可以指定时间戳 得到 时间字符串
res = time.ctime(1333333333)
print(res)

 

#mktime() 通过 时间元组 获取时间戳(参数是时间元组)
ttp = (2018,7,31,16,0,0,0,0,0)
res = time.mktime(ttp)
print(res)

 

#asctime() 通过时间元组获取时间字符串(参数是时间元组)
ttp = (2008,8,8,8,8,8,0,0,0)
res = time.asctime(ttp)
print(res)

 

#localtime() 获取本地时间元组(默认当前,可以指定时间戳)
res = time.localtime()
print(res)

res = time.localtime(1333333333)
print(res)

#time.struct_time(tm_year=2012, tm_mon=4, tm_mday=2, tm_hour=10, tm_min=22, tm_sec=13, tm_wday=0, tm_yday=93, tm_isdst=0)

 

#sleep() 程序睡眠等待
# time.sleep(2) # 原理 走到这个代码的时候 实际上加了阻塞
# print(123)

 

#strftime() 格式化时间字符串(格式化字符串,时间元祖)
ttp = (2018,7,31,16,0,0,0,0,0)
res = time.strftime("%Y 年- %m 月- %d 日 ! %H时 %M分 %S秒",ttp)
print(res)

#2018 年- 07 月- 31 日 ! 16时 00分 00秒

 

#strptime() 将时间字符串通过指定格式提取到时间元组中(时间字符串,格式化字符串)
strtime = "2019年11月21号今天天气好晴朗哦 13时18分19秒"
res = time.strptime(strtime,"%Y年%m月%d号今天天气好晴朗哦 %H时%M分%S秒")
#time.struct_time(tm_year=2019, tm_mon=11, tm_mday=21, tm_hour=13, tm_min=18, tm_sec=19, tm_wday=3, tm_yday=325, tm_isdst=-1)
print(res)


#perf_counter() 用于计算程序运行的时间
startime = time.perf_counter()
print(startime)

for i in range(0,10000000):
  pass
time.sleep(2)

endtime = time.perf_counter()
res = endtime-startime
print("你的程序用时{:.3f}秒".format(res))

 

======================================================================================

#--时间模块相关了解 (UNIX时间戳/linux时间戳)
#-时间戳:用秒来表示时间的一种格式
1.时间戳指从1970年1月1日0时0分0秒到指定时间之间的秒数
2.时间戳可以使用到2038年的某一天

"""
  时间元组:
  使用元祖格式来表示时间的一种方式
  格式(自定义):
  (年,月,日,时,分,秒,周几,一年中的第几天,是否是夏令时时间)

  格式2(系统提供):
  (tm_year = 年,tm_month = 月,tm_day = 日,tm _hour = 时, tm_min = 分, tm _sec = 秒, tm _wday = 周几, tm _yday = 一年中的第几天,tm_isdst = 是否是夏令时时间)

  0 年 4位数完整年份 四位数1997
  1 月 1-12月 1 - 12
  2 日 1-31天 1 - 31
  3 时 0-23时 0 - 24
  4 分 0-59分 0 - 59
  5 秒 0-59秒 0 - 61
  6 周几 周一-周天 0 - 6
  7 年中第几天 共366天 1 - 366
  8 夏令时 两种 0,1 0 是 其他都不是

  UTC时间:世界约定的时间表示方式,世界统一时间格式,世界协调时间!
  夏令时:在夏令时时间状态下,时间会调块1个小时


  格式化时间字符串:
  格式 含义 备注
  %a 本地(locale)简化星期名称
  %A 本地完整星期名称
  %b 本地简化月份名称
  %B 本地完整月份名称
  %c 本地相应的日期和时间表示
  %d 一个月中的第几天(01 - 31)
  %H 一天中的第几个小时(24 小时制,00 - 23)
  %I 一天中的第几个小时(12 小时制,01 - 12)
  %j 一年中的第几天(001 - 366)
  %m 月份(01 - 12)
  %M 分钟数(00 - 59)
  %p 本地 am 或者 pm 的相应符 注1
  %S 秒(01 - 61) 注2
  %U 一年中的星期数(00 - 53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第 0 周 注3
  %w 一个星期中的第几天(0 - 6,0 是星期天) 注3
  %W 和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始
  %X 本地相应时间
  %y 去掉世纪的年份(00 - 99)
  %Y 完整的年份
  %z 用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数)
  %% %号本身
'''

posted @ 2018-07-31 20:32  bling_bling_star  阅读(185)  评论(0编辑  收藏  举报