美文网首页
python中的time模块

python中的time模块

作者: 转身丶即天涯 | 来源:发表于2019-03-21 15:47 被阅读0次

    time模块是python专门用来处理时间的内建库。
    下面我们来记录一些基本使用方法。
    ps: 用到了一些概念,比如unix时间戳,感兴趣的同学自行百度。

    下文参考他人博客内容,传送门


    time.time()

    time.time()函数获取的是Unix时间戳。
    返回的是一个float类型的数值。

    import time
    
    
    t1 = time.time()
    print(t1, type(t1))
    
    image.png
    time.struct_time()

    在python中的time模块中定义了一个叫struct_time的元组,是用来构建时间对象的。
    struct_time元组共9个元素组成,如下图:


    image.png
    time.localtime(second=None)

    这个函数可以接受一个unix时间戳,然后转换为struct_time。
    如果不传入second参数,则会返回当前时间的时间戳的struct_time对象

    t1 = time.localtime()
    print(t1, type(t1))
    
    image.png

    再试试传入当前时间的时间戳,是否能得到上面的struct_time呢?

    t1 = time.time()
    print("Unix timestamp:", t1)
    # 由于时间戳t1拿到的是一个float类型
    # struct_time接受的是一个11位的数字字符串,刚好是小数点前面的内容
    # 所以我们需要去掉小数点以及后面的内容
    struct_t1 = int(t1)
    struct_time = time.localtime(struct_t1)
    print(struct_time, type(struct_time))
    
    
    t2 = time.localtime()
    print(t2, type(t2))
    
    image.png

    和我们预期的结果一致。

    time.gmtime(second=None)

    和localtime函数类似,默认情况gmtime函数获取当前时间的utc时间。
    返回当前时间的utc时间的struct_time对象。
    也可以传入任意的unix时间戳,来得到utc时间。

    t3 = time.time()
    utc_time_struct = time.gmtime(t3)
    print(utc_time_struct, type(utc_time_struct))
    print(time.gmtime(), type(time.gmtime()))
    
    image.png
    time.mktime(struct_time)

    将一个时间戳struct_time对象转换为时间戳。

    # 将struct_time转为时间戳
    local_struct_time = time.localtime()
    time_stamp = time.mktime(local_struct_time)
    print(time_stamp, type(time_stamp))
    
    image.png
    time.asctime(struct_time=None)

    传入一个struct_time对象,返回"Sun Jun 20 23:21:05 1993"这种格式的字符串。不传参数,返回当前时间的这种格式的字符串。

    t4 = time.asctime()
    print(t4, type(t4))
    
    image.png
    time.strftime(format[, struct_time])

    传入格式和struct_time,返回按照format格式格式化后的时间字符串。

    # 用于格式化struct_time对象
    t5 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    print(t5, type(t5))
    
    image.png

    格式占位符可以参考下图:


    image.png
    time.strptime(string[, format])

    将字符串时间转为struct_time,time.strftime()的逆向操作。

    # strftime()逆向操作,从字符串转为struct_time
    # 如果你不传入format参数,那么将会采用默认格式%a %b %d %H:%M:%S %Y
    # 如果不符合默认格式则会引发ValueError异常
    # 所以,一般我们都会指定format,跟个跟具体的需求而定
    time_str = "2019-08-02 18:49:00"
    format = "%Y-%m-%d %H:%M:%S"
    t6 = time.strptime(time_str, format)
    print(t6, type(t6))
    
    image.png

    相关文章

      网友评论

          本文标题:python中的time模块

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