美文网首页
python找茬系列13--那些傻傻分不清楚的time库函数

python找茬系列13--那些傻傻分不清楚的time库函数

作者: young十三 | 来源:发表于2019-08-02 15:41 被阅读0次

    一、time库中的函数

    序号 名称 描述 返回区别
    1 time.time( ) 返回当前时间的时间戳(1970纪元后经过的浮点\color{red}{秒数})。 时间戳
    2 time.localtime([secs]) 接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的\color{red}{时间元组}t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。 时间元组
    3 time.asctime([tupletime]) 接受时间元组并返回一个可读的形式为\color{red}{"Tue Dec 11 18:07:14 2008"}(2008年12月11日 周二18时07分14秒)的24个字符的字符串。 格式化
    4 time.mktime(tupletime) 接受时间元组并返回\color{red}{时间戳}(1970纪元后经过的浮点秒数)。 时间戳
    5 time.gmtime([secs]) 接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的\color{red}{时间元组}t。注:t.tm_isdst始终为0 时间元组
    6 time.strftime(fmt[,tupletime]) 接收以时间元组,并返回以可读字符串表示的当地时间,\color{red}{格式由fmt决定} 格式化

    二、实例说明

    1、time.time()

    返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

    import time
    
    print(time.time())
    

    输出结果:

    1564726850.7414112
    

    2、time.localtime([secs])

    接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。如果sec参数未输入,则以当前时间为转换标准。

    import time
    
    s = time.time()
    print(s)
    print(time.localtime())
    print(time.localtime(s))
    

    输出结果:

    1564729513.296264
    time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=5, tm_sec=13, tm_wday=4, tm_yday=214, tm_isdst=0)
    time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=5, tm_sec=13, tm_wday=4, tm_yday=214, tm_isdst=0)
    

    time.struct_time 结构说明:

    int tm_sec; /* 秒 – 取值区间为[0,59] */
    
    int tm_min; /* 分 - 取值区间为[0,59] */
    
    int tm_hour; /* 时 - 取值区间为[0,23] */
    
    int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
    
    int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
    
    int tm_year; /* 年份,其值等于实际年份减去1900 */
    
    int tm_wday; /* 星期 – 取值区间为[0,6],其中6代表星期天,0代表星期一,以此类推 */
    
    /* 从每年的1月1日开始的天数 – 取值区间为[0,365],
    其中0代表1月1日,1代表1月2日,以此类推 */
    int tm_yday; 
    
    /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。
    不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
    int tm_isdst; 
    
    

    3、time.asctime([tupletime])

    返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

    import time
    
    s = time.localtime()
    print(s)
    print(time.asctime(s))
    

    输出结果:

    time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=7, tm_sec=19, tm_wday=4, tm_yday=214, tm_isdst=0)
    Fri Aug  2 15:07:19 2019
    

    4、time.mktime(tupletime)

    接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。

    import time
    
    s = time.localtime()
    print(s)
    print(time.mktime(s))
    

    输出结果:

    time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=13, tm_sec=12, tm_wday=4, tm_yday=214, tm_isdst=0)
    1564729992.0
    

    5、time.gmtime([secs])

    接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0

    import time
    
    s = time.time()
    print(s)
    print(time.gmtime(s))
    

    输出结果:

    1564730099.421095
    time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=7, tm_min=14, tm_sec=59, tm_wday=4, tm_yday=214, tm_isdst=0)
    

    6、time.strftime(fmt[,tupletime])

    接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。

    import time
    
    s = time.localtime()
    print(s)
    print(time.strftime("%Y-%m-%d %H:%M:%S", s))
    

    输出结果:

    time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=21, tm_sec=30, tm_wday=4, tm_yday=214, tm_isdst=0)
    2019-08-02 15:21:30
    

    三、time.localtime([secs])与time.gmtime([secs])

    import time
    
    s = time.localtime()
    t = time.gmtime()
    print('s = ', s)
    print('t = ', t)
    print(time.mktime(s))
    print(time.mktime(t))
    
    

    输出结果:

    图.png

    如果获取北京时间元组使用 time.localtime([secs])

    四、赠语

    苦心人天不负,卧薪尝胆,三千越甲可吞吴。

    相关文章

      网友评论

          本文标题:python找茬系列13--那些傻傻分不清楚的time库函数

          本文链接:https://www.haomeiwen.com/subject/udakdctx.html