刘刚刚的个人博客

python中的time模块

创建时间:2022-06-04 21:41:57
更新时间:2022-06-04 21:41:57

平时经常使用,却一直没有仔细了解过。根据网上的资料整理出来常用的一些time模块的方法

python中的time模块

在python中经常使用time模块生成时间戳,时间戳是代表距离1970年1月1日00:00:00来的秒数,不计算润秒。

介绍

  1. 基本方法

    方法作用
    time()当前时间戳,返回值为浮点类型
    sleep()休眠
  2. 不同格式的时间转换的方法

    原时间类型目标时间类型方法备注
    时间戳结构化UTC时间gmtime()
    时间戳结构化本地时间localtime()
    结构化UTC时间时间戳calendar.timegm()
    结构化本地时间时间戳mktime()此方法转换时,与时区无关
    结构化时间字符串asctime()字符串固定格式为:Sun Apr 24 10:56:40 2022
    结构化时间字符串strftime()
    字符串结构化时间strptime
    时间戳字符串time.ctime()字符串固定格式为:Sun Apr 24 10:56:40 2022
  3. 结构化时间介绍

    结构化时间可以通过索引和属性名访问值,相关索引和时间如下:

    索引属性
    0tm_year(例如,1993)
    1tm_monrange [1, 12]
    2tm_mdayrange [1, 31]
    3tm_hourrange [0, 23]
    4tm_minrange [0, 59]
    5tm_secrange [0, 61]; 见 strftime() 介绍中的 (2)
    6tm_wdayrange [0, 6] ,周一为 0
    7tm_ydayrange [1, 366]
    8tm_isdst是否为夏令时,取值范围0, 1 或 -1;-1代表未知
    N/Atm_zone时区名称的缩写
    N/Atm_gmtoff以秒为单位的UTC以东偏离

示例

我们首先定义一个test函数,来方便数据的打印。

import time

def test(a):
    print(type(a),a)

获取当前的时间戳

a = time.time()
test(a)
<class 'float'> 1654347598.0079849

延迟一定时间后继续运行

time.sleep(1)

时间戳转化为带时区的结构化数据

b = time.localtime(a)
test(b)
b_1 = time.gmtime(a)
test(b_1)
<class 'time.struct_time'> time.struct_time(tm_year=2022, tm_mon=6, tm_mday=4, tm_hour=20, tm_min=59, tm_sec=58, tm_wday=5, tm_yday=155, tm_isdst=0)
<class 'time.struct_time'> time.struct_time(tm_year=2022, tm_mon=6, tm_mday=4, tm_hour=12, tm_min=59, tm_sec=58, tm_wday=5, tm_yday=155, tm_isdst=0)

将结构化时间转为时间戳,注意:该转换与时区无关

c = time.mktime(b)
test(c)
c_1 = time.mktime(b_1)
test(c_1)
<class 'float'> 1654347598.0
<class 'float'> 1654318798.0

将时间戳转为字符串

d = time.ctime(a)
test(d)
<class 'str'> Sat Jun  4 20:59:58 2022

将结构化时间转为字符串形式

d_1 = time.asctime(b)
test(d_1)
<class 'str'> Sat Jun  4 20:59:58 2022

将结构化时间转为字符串形式

e = time.strftime('%Y-%m-%d %H:%M:%S', b)
test(e)
<class 'str'> 2022-06-04 20:59:58

将字符串转为结构化的数据

f = time.strptime(e, '%Y-%m-%d %H:%M:%S')
test(f)
<class 'time.struct_time'> time.struct_time(tm_year=2022, tm_mon=6, tm_mday=4, tm_hour=20, tm_min=59, tm_sec=58, tm_wday=5, tm_yday=155, tm_isdst=-1)

获取程序运行的时间

g = time.perf_counter()
test(g)
<class 'float'> 3.252550844



我的名片

昵称:shuta

职业:后台开发(python、php)

邮箱:648949076@qq.com

站点信息

建站时间: 2020/2/19
网站程序: ANTD PRO VUE + TP6.0
晋ICP备18007778号