python时间模块

#时间模块

#time模块中时间表现的格式主要有三种:
#   1.时间戳时间(timestamp),时间戳表示是从英国敦伦时间1970年1月1日00:00:00开始按秒计算的偏移量
#   2.结构化时间(struct_time),时间对象,能够通过属性名来获取对象中的值,共有九个元素组
#   3.格式化时间(format_time),已格式化的结构让时间更具可读性,可以根据自定义时间格式和固定格式

#常用方法:
#   1:time.sleep(secs)  #  (线程)推迟指定的时间运行,单位为秒
    #     import time
    #     time.sleep(3)   #  程序运行时间延迟
    #     print(222)
    #     time.sleep(2)
    #     print(3333)
#   2:time.time()   #  获取当前的时间戳时间
    # import time
    # print(time.time())        #1533718497.7569118   float类型


#表示时间的三种方式
    #1)时间戳表示从1970年1月1日00:000:00开始按秒计算的偏移量
       # 运行type(time.time()) ,返回的是float类型
    #2) 格式化的时间字符串
    # %Y 四位数的年份表示(000-9999)
    # %y 两位数的年份表示(00-99)
    # %m 月份 (01-12)
    # %d 月中的一天(01-31)
    # %H 24小时制时间(00-23)
    # %I 12小时制时间(00-12)
    # %M 分钟数(00-59)
    # %S 秒 (00-59)
    # %a 本地简化星期名称()
    # %A 本地完整星期名称
    # %b 本地简化月份名称
    # %B 本地完整月份名称
    # %c 本地相应的日期表示和时间表示
    # %j 年内的一天(001-365)
    # %p 本地A.M或P.M 的等价符
    # %U 一年中的星期数(00-53)星期天为星期的开始
    # %w 星期(0-6) 星期天为星期的开始
    # %W 一年中的星期数(00-53)星期一位星期的开始
    # %x 本地相应的日期时间
    # %X 本地相应的时间表示
    # %Z 当前时区的名称
    # %% %号本身


    #3)结构化时间(struct_time) 元组中共有9个元素(年,月,日,时,分,秒,一年中第几周
      # 索引     属性               值
      #   0      tm_year(年)         如2018
      #   1      tm_mon(月)          1-12
      #   2      tm_mday(日)         1-31
      #   3      tm_hour(时)         0-23
      #   4      tm_min(分)          0-59
      #   5      tm_sec(秒)          0-60
      #   6      tm_wday(星期)       0-6(0表示周一)
      #   7      tm_wday(星期)        1-366
      #   8      tm_isdst(是否夏令时)       默认为0
      #
#在python中表示时间的几种格式
import time
#  获取当前时间戳时间
time.time()
print(time.time())   #  1533721056.719276

# 时间字符串
time.strftime("%Y-%m-%d %X")     # 当前格式化时间
print(time.strftime("%Y-%m-%d %X"))

time.strftime("%Y-%m-%d %H:%M:%S")
print(time.strftime("%Y-%m-%d %H:%M:%S"))

# 时间元组 localtime 将一个时间戳时间转换为当前时区的struct_time
time.localtime()   #  def localtime(seconds=None)
print(time.localtime())    #  获取当前格式化时间
#   time.struct_time(tm_year=2018, tm_mon=8, tm_mday=8, tm_hour=17, tm_min=47, tm_sec=22, tm_wday=2, tm_yday=220, tm_isdst=0)

# 注:时间戳时间是计算机能够识别的时间,时间字符串是人能够看懂的时间;元组则是用
#    来操作时间的.

#几种格式之间的转换

#1时间戳时间转 结构化时间
#time.gmtime(时间戳)  # UCT时间,与英国伦敦当地时间一致
#time.localtime(实际戳)  # 当地时间,北京时间,与UTC相差8小时

print(time.gmtime(1500000000))
#结果
#time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm
print(time.localtime(1500000000))
#结果
#time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)

# 两个结果的时间相差8个小时


#2 结构化时间转时间戳时间
#time.mktime(结构化时间)
time_tuple = time.localtime(1500000000)
print(time.mktime(time_tuple))
# 结果:
# 1500000000.0
# 3) 结构时间--转格式化时间
#time.strftime("格式化时间","结构化时间")      结构化时间不传,则显示当前时间
print(time.strftime("%Y-%m-%d"))
print(time.strftime("%Y-%m-%d",time.localtime(1500000000)))
# 结果
# 2018-08-08   # 不传参显示当前时间
# 2017-07-14    传参显示传参对应的格式化时间

#4.字格式化时间转 结构化时间
print(time.strptime("2018-8-4","%Y-%m-%d"))
print(time.strptime("2018/8/4","%Y/%m/%d"))
#结果
#time.struct_time(tm_year=2018, tm_mon=8, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=216, tm_isdst=-1)
# time.struct_time(tm_year=2018, tm_mon=8, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=216, tm_isdst=-1)

#5.结构化时间  转 %a %b %d %H:%M:%Y串
#time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串
print(time.asctime())
print(time.asctime(time.localtime(1500000000)))
#结果
#Wed Aug  8 18:47:44 2018
#Fri Jul 14 10:40:00 2017

#6.时间戳时间 转  %a %b %d %H:%M:%Y串
#time.ctime(时间戳时间)  如果不传参数,直接返回当前时间的格式化串
print(time.ctime())
print(time.ctime( 1500000000))
#结果
#Wed Aug  8 18:50:39 2018
#Fri Jul 14 10:40:00 2017

 

posted @ 2018-08-08 18:58  Hear7  阅读(171)  评论(0编辑  收藏  举报