python之time模块

作者: 秣禾 | 来源:发表于2022-04-12 20:50 被阅读0次

    1. time 模块

    time 模块常用的与时间相关的类和函数:

    1.1 struct_time 类

    time 模块的 struct_time 类代表一个时间对象,可以通过索引和属性名访问值。 对应关系如下:

    索引 —— 属性 值
    0 —— tm_year(年) 如:1945
    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(周) 0 ~ 6
    7 —— tm_yday(一年内第几天) 1 ~ 366
    8 —— tm_isdst(夏时令) -1、0、1

    tm_sec 范围为 0 ~ 61,值 60 表示在闰秒的时间戳中有效,并且由于历史原因支持值 61。

    localtime() 表示当前时间,返回类型为 struct_time 对象,示例如下所示:

    import time
    t = time.localtime()
    print('t-->', t)
    print('tm_year-->', t.tm_year)
    print('tm_year-->', t[0])
    

    输出结果:

    t--> time.struct_time(tm_year=2019, tm_mon=12, tm_mday=1, tm_hour=19, tm_min=49, tm_sec=54, tm_wday=6, tm_yday=335, tm_isdst=0)
    tm_year--> 2019
    tm_year--> 2019
    

    1.2 常用函数

    time()——返回当前时间的时间戳
    gmtime([secs])——将时间戳转换为格林威治天文时间下的 struct_time,可选参数 secs 表示从 epoch 到现在的秒数,默认为当前时间
    localtime([secs])——与 gmtime() 相似,返回当地时间下的 struct_time
    mktime(t) localtime() 的反函数
    asctime([t]) 接收一个 struct_time 表示的时间,返回形式为:Mon Dec 2 08:53:47 2019 的字符串
    ctime([secs]) ctime(secs) 相当于 asctime(localtime(secs))
    strftime(format[, t]) 格式化日期,接收一个 struct_time 表示的时间,并返回以可读字符串表示的当地时间
    sleep(secs) 暂停执行调用线程指定的秒数
    altzone 本地 DST 时区的偏移量,以 UTC 为单位的秒数
    timezone 本地(非 DST)时区的偏移量,UTC 以西的秒数(西欧大部分地区为负,美国为正,英国为零)
    tzname 两个字符串的元组:第一个是本地非 DST 时区的名称,第二个是本地 DST 时区的名称

    epoch:1970-01-01 00:00:00 UTC

    基本使用如下所示:

    import time
    
    print(time.time())
    print(time.gmtime())
    print(time.localtime())
    print(time.asctime(time.localtime()))
    print(time.tzname)
    # strftime 使用
    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
    

    strftime 函数日期格式化符号说明如下所示:

    image.png
    image.png

    相关文章

      网友评论

        本文标题:python之time模块

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