• time模块


    time模块

    time模块在 python中共有三种表示方式:

    1. timestamp
    2. tuplestruct_time
    3. 格式化字符串

    基本概念

    • 时间戳:表示从1970年1月1日00:00:00开始按秒计算的偏移量
    • UTC(Coordinated Universal Time):世界协调时,也称格林威治时间(GMT)
    • DST(Daylight Saving Time):即夏令时
    • struct_time为9元组:
      tm_year :年
      tm_mon :月(1-12)
      tm_mday :日(1-31)
      tm_hour :时(0-23)
      tm_min :分(0-59)
      tm_sec :秒(0-59)
      tm_wday :星期几(0-6,0表示周日)
      tm_yday :一年中的第几天(1-366)
      tm_isdst :是否是夏令时(默认为-1)

    常用函数

    • time.sleep(secs):挂起调用线程secs秒。
    • time.clock(): 在第一次调用的时候, 返回程序运行的时间. 第二次之后返回与之前的间隔.
    import time    
    if __name__ == '__main__':    
        time.sleep(1)    
        print "clock1:%s" % time.clock()    
        time.sleep(1)    
        print "clock2:%s" % time.clock()    
        time.sleep(1)    
        print "clock3:%s" % time.clock()  
    

    结果为:

    clock1:3.7758161993087234e-07
    clock2:1.000387021160429
    clock3:2.0012350694787937
    
    • time.localtime([secs]):将一个时间戳转换为当前时区的struct_time,若secs参数未提供,则以当前时间为准。
    >>>time.localtime()
    time.struct_time(tm_year=2018, tm_mon=1, tm_mday=25, tm_hour=15, tm_min=45, tm_sec=9, tm_wday=3, tm_yday=25, tm_isdst=0)
    
    • time.gtime([secs]):将一个时间戳转换为UTC时区(0时区)的struct_time
    >>>time.gtime(time.time())
    time.struct_time(tm_year=2018, tm_mon=1, tm_mday=25, tm_hour=7, tm_min=46, tm_sec=8, tm_wday=3, tm_yday=25, tm_isdst=0)
    
    • time.time():返回当前时间的时间戳。
    >>>time.time()
    1516866368.0622864
    
    • time.mktime(t):将一个struct_time转化为时间戳。
    >>>time.mktime(time.localtime())
    1516866506.0
    
    • time.asctime([t]):把一个表示时间的tuple或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。如果没有参数,将会将time.localtime()作为参数传入
    >>>time.asctime(time.localtime())
    Thu Jan 25 15:49:57 2018
    
    • time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))
    >>>time.ctime()
    Thu Jan 25 15:49:57 2018
    
    • time.strftime(format[, t]):把一个代表时间的tuple或者struct_time转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,会抛出ValueError
    >>>time.strftime("%Y-%m-%d %X", time.localtime())
    2018-01-25 15:52:09
    
    格式 含义 备注
    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化月份名称
    %B 本地完整月份名称
    %c 本地相应的日期和时间表示
    %d 一月中的第几天(01-31)
    %H 一天中的第几个小时(24小时制,00-23)
    %I 一天中的第几个小时(12小时制,01-12)
    %j 一年中的第几天(001,366)
    %m 月份(01-12)
    %p 本地am或者pm的相应符 需要与%I配合
    %M 分钟数(00-59)
    %S 秒(01-61) 闰年秒占2秒
    %U 一年中的星期数,以星期日作为一个星期的开始
    %w 一个星期中的第几天(0-6,0是星期天)
    %W 一年中的星期数,以星期一作为一个星期的开始
    %x 本地相应日期
    %X 本地相应时间
    %y 去掉世纪的年份
    %Y 完整的年份
    %Z 时区的名字
    %% '%'字符

    常用的有:
    %y 两位数的年份 00 ~ 99.
    %Y 四位数的年份 0000 ~ 9999
    %m 月份 01 ~ 12.
    %d day 01 ~ 31.
    %H 时 00 ~ 23.
    %I 时 01 ~ 12.
    %M 分 00 ~ 59.
    %S 秒 00 ~ 61.

    • time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。
    >>>time.strptime('2018-01-25 15:54:06', '%Y-%m-%d %X')
    time.struct_time(tm_year=2018, tm_mon=1, tm_mday=25, tm_hour=15, tm_min=54, tm_sec=6, tm_wday=3, tm_yday=25, tm_isdst=-1)
    

    总结

    可以得到时间戳的函数有:time.time(),time.mktime(),
    可以得到struct_time的函数有:time.gtime(),time.localtime(),time.strptime()
    可以得到格式化字符串的函数有:time.strftime(),time.ctime(),time.asctime()

    各个函数的转化关系为:

    参考资料:
    http://blog.csdn.net/you_are_my_dream/article/details/61616465
    https://docs.python.org/3/library/time.html
    http://www.jb51.net/article/87721.htm

  • 相关阅读:
    Mysql数据操作指令
    Mysql列属性
    Mysql表的对应关系
    Mysql中的一些类型
    Mysql笔记
    (三) rest_framework 权限与限流源码梳理
    (二) rest_framework 认证源码流程与配置
    (一) rest_framework 视图入口
    django_celery_beat
    GRPC
  • 原文地址:https://www.cnblogs.com/jiduxia/p/8351954.html
Copyright © 2020-2023  润新知