Python学习笔记 time 模块

目录

  - 简述
  - 一些术语和约定
  - 表示时间的方式
  - 常用函数及解析

简述

  time 模块用于时间的访问和转换,它提供了各种与时间相关的函数和几个类,其中常用的一个类是 struct_time。

  尽管此模块始终可用,但并非所有平台上都提供所有功能。该模块中定义的大多数函数都是调用相同名称的平台C库函数。有时,这些函数的语义在平台之间会有所不同。

一些术语和约定

  1. 纪元(epoch):时间的起点,与平台有关,对于 Unix,纪元是对于Unix,纪元是 1970年1月1日 00:00:00(UTC)。可以通过 time.gmtime(0)了解给定平台上的纪元。
  2. 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日0时0分0秒开始到现在的秒数,不考虑闰秒。利用 time.time() 函数来获取时间戳。
  3. UTC:UTC是指世界标准时间(以前称为格林威治标准时间,即 GMT)。
  4. 时间元组(struct_time):时间元组是一种结构化的时间,它表现为一个元组(其实是一个类),共有九个元素,分别是:年, 月, 日,时,分,秒,一年中的第几周,一年中的第几天,夏令时(具体如下表)。struct_time 可以利用索引或属性名访问属性的值。
索引属性注释
0tm_year2019(本年的年份)
1tm_mon1 ~ 12
2tm_mday1 ~ 31
3tm_hour0 ~ 23
4tm_min0 ~ 59
5tm_sec0 ~ 61(60或61是闰秒)
6tm_wday0 ~ 60 表示周一
7tm_yday1 ~ 366儒略历
8tm_isdst-1, 0, 11表示夏令时生效,反之为0,-1表示状态未知

表示时间的方式

时间的表示方式有以下三种,其中计算机认识的时间只能是‘时间戳’格式,而人能看懂的则是另外两种格式

  1. 时间戳(timestamp)
  2. 结构化的时间(struct_time)
  3. 格式化的时间字符串(format String):利用 time.strftime() 函数来获取格式化的时间字符串,需传入表示格式的字符串(格式字符如下表)。
字符含义
%y两位数的年份表示(00-99)
%Y四位数的年份表示(000-9999)
%m月份(01-12)
%d月内中的一天(0-31)
%H24小时制小时数(00-23)
%I12小时制小时数(01-12)
%M分钟数(00-59)
%S秒(00-59)
%f以十进制数表示的毫秒(000000-999999)
%a本地简化星期名称
%A本地完整星期名称
%b本地简化的月份名称
%B本地完整的月份名称
%c本地相应的日期表示和时间表示
%j年内的一天(001-366)
%p本地A.M.或P.M.的等价符
%U一年中的星期数(00-53)星期天为星期的开始,第一个星期日之前的日子都被视为第0周
%u以十进制数显示的 ISO 8601 星期中的日序号,其中 1 表示星期一。
%w星期(0-6),其中0表示星期日,6表示星期六
%W一年中的星期数(00-53)星期一为星期的开始,第一个星期一之前的日子都被视为第0周
%x本地相应的日期表示
%X本地相应的时间表示
%z±HHMM[SS[.ffffff]] 形式的 UTC 差值(如果对象为无知型则为空字符串)
%Z当前时区的名称
%V以十进制数显示的 ISO 8601 星期,以星期一作为每周的第一天。 第 01 周为包含 1 月 4 日的星期。
%G带有世纪的 ISO 8601 年份,表示包含大部分 ISO 星期 (%V) 的年份。
%%%号本身

三种方式的转换
在这里插入图片描述

常用函数及解析

	time()
        功能:以小数秒为单位获取时间戳
        参数:无
        返回值:一个浮点数,表示纪元到现在的秒数

    time_ns()
        功能:与 time() 相似,但单位是纳秒
        参数:无
        返回值:一个整数

    asctime([t])
        功能:将一个表示时间的元组或 struct_time 表示为这种形式:'Sat Sep 28 16:54:12 2019'
        参数:t 表示一个时间元组或一个 struct_time,若不提供该参数则默认 t = time.localtime()
        返回值:固定格式化的时间字符串

    ctime(secs=None)
        功能:将时间戳转换为本地时间的子符串,等效于 asctime(localtime(seconds))
        参数:secs 表示时间戳,默认为 None
        返回值:一个字符串

    gmtime([secs])
        功能:将时间戳转换为UTC时区的结构化时间 struct_time
        参数:secs 表示时间戳,若不提供该参数,则默认为当前时刻的时间戳
        返回值:时间元组 struct_time

    localtime([secs])
        功能:将时间戳转换为当地的结构化时间 struct_time
        参数:secs 表示时间戳,若不提供该参数,则默认为当前时刻的时间戳
        返回值:时间元组 struct_time

    mktime(struct_time)
        功能:将结构化的时间转化为时间戳,相当于 localtime 的反函数
        参数:struct_time 表示一个结构化的时间
        返回值:一个时间戳

    strftime(format[, struct_time])
        功能:将结构化的时间转化为格式化的时间字符串
        参数:format 是一个表示时间格式的字符串;struct_time 表示结构化的时间,若不提供该参数,则默认为当前时刻的结构化时间
        返回值:一个时间字符串

    strptime(time_str[, format])
        功能:将格式化的时间字符串转化为结构化的时间
        参数:time_str 表示时间字符串;format 表示时间字符串的格式,若不提供该参数,则默认其值为:'%a %b %d %H:%M:%S %Y'
        返回值:结构化时间 struct_time

    sleep(secs)
        功能:使线程执行暂停(睡眠)给定的秒数
        参数:secs 表示秒数,可以是浮点数
        返回值:None

    perf_counter()
        功能:以小数秒为单位返回性能计数器的值,包括睡眠的时间,且是系统范围内的
        参数:无
        返回值:一个浮点数

    perf_counter_ns()
        功能:与 perf_counter() 相似,但单位是纳秒
        参数:无
        返回值:一个整数

    process_time()
        功能:以小数秒为单位返回当前进程的系统和用户 CPU 时间总和的值,不包括睡眠时间,且是进程范围内
        参数:无
        返回值:一个浮点数

    process_time_ns()
        功能:与 process_time() 相似,但单位是纳秒
        参数:无
        返回值:一个整数

    monotonic()
        功能:以小数秒为单位返回单调时钟(即不能倒退的时钟)的值
        参数:无
        返回值:一个浮点数

    monotonic_ns()
        功能:与 monotonic() 相似,但以纳秒为单位
        参数:无
        返回值:一个整数

    thread_time()
        功能:以小数秒为单位返回当前线程的系统和用户 CPU 时间之和的值,不包括睡眠时间,且特定于线程
        参数:无
        返回值:一个浮点数

    thread_time_ns()
        功能:与 thread() 相似,但单位是纳秒
        参数:无
        返回值:一个整数
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值