欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/


time 模块提供了各种时间相关的函数,该模块中的大多数函数是调用了所在平台 C 语言库的同名函数,这些函数的语义因平台而异,可能会在不同的平台有不同的效果。

time 模块和 datetime 模块类似,区别在于 time 模块提供的功能是更加接近于操作系统层面,所能表述的日期范围被限定在 1970 - 2038 之间,而 datetime 模块提供了更多实用的函数,可以理解为 datetime 基于 time 进行了封装,更加高级。

time 模块官方文档:https://docs.python.org/3.7/library/time.html


部分常用函数:

  • 1、time.sleep(secs)
  • 2、time.time()
  • 3、time.gmtime([secs])
  • 4、time.localtime([secs])
  • 5、time.mktime(t)
  • 6、time.strftime(format[, t])
  • 7、time.strptime(string[, format])
  • 8、time.clock()
  • 9、time.asctime([t])
  • 10、time.ctime([secs])

1、time.sleep(secs)

暂停所执行的调用线程达到给定的秒数,然后恢复代码正常执行,参数可以是浮点数,以指示更精确的睡眠时间。实际的暂停时间可能小于请求的时间。

应用举例:

import time
print('第一条语句执行成功,5秒后执行下一条语句...')
time.sleep(5)
print('第二条语句执行成功。')

2、time.time()

自纪元(Epoch)年起以秒为单位返回浮点数的时间

在 Windows 和大多数 Unix 系统上,纪元开始时间是 1970 年 1 月 1 日,00:00:00(UTC)

应用举例:

>>> import time
>>> print(time.time())
1582879127.9589412

3、time.gmtime([secs])

将一个时间戳转换为 UTC 时区的 struct_time 元组,struct_time 是在 time 模块中定义的表示时间的对象,可选的参数 secs 表示从纪元(Epoch)年起到现在的秒数,即从1970 年 1 月 1 日,00:00:00 起到现在的秒数,其默认值为 time.time(),函数返回 time.struct_time 类型的对象。

应用举例:

>>> import time
>>> print(time.gmtime())
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=10, tm_min=18, tm_sec=1, tm_wday=4, tm_yday=59, tm_isdst=0)
>>>
>>> print(time.gmtime(1582879127))
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=8, tm_min=38, tm_sec=47, tm_wday=4, tm_yday=59, tm_isdst=0)
>>>
>>> print(time.gmtime(666666.123456))
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=8, tm_hour=17, tm_min=11, tm_sec=6, tm_wday=3, tm_yday=8, tm_isdst=0)

struct_time 元组结构具有如下属性:

序号 属性
0 tm_year 4 位数,年
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,秒 (60 或 61 是闰秒)
6 tm_wday 0 - 6,一周的第几日 (0 是周一)
7 tm_yday 1 - 366,一年的第几日(儒略历)
8 tm_isdst 1 表示夏令时,0 表示非夏令时,-1 表示未知

4、time.localtime([secs])

localtime() 函数类似 gmtime(),作用是格式化时间戳为本地的时间,如果 secs 参数未输入,则以当前时间为转换标准。

应用举例:

>>> import time
>>> print(time.localtime())
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=19, tm_min=55, tm_sec=9, tm_wday=4, tm_yday=59, tm_isdst=0)
>>>
>>> print(time.localtime(1582879127))
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=16, tm_min=38, tm_sec=47, tm_wday=4, tm_yday=59, tm_isdst=0)

5、time.mktime(t)

该函数执行与 gmtime()localtime() 相反的操作,它接收 struct_time 对象作为参数,返回用秒数来表示时间的浮点数。t 参数表示结构化的时间或者完整的9位元组元素。

如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。

应用举例:

>>> print(time.mktime((2020,2,28,20,40,14,5,59,0)))
1582893614.0

6、time.strftime(format[, t])

根据带时间格式符号的字符串解析时间,并返回字符串,转换一个元组或 struct_time 时间到由 format 参数指定的字符串格式。如果未提供 t ,则使用由 localtime() 返回的当前时间,format 必须是一个字符串,如果 t 中的任何字段超出允许范围,则引发 ValueError 。

应用举例:

>>> import time
>>> print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
2020-02-28 20:10:24
>>>
>>> print(time.strftime('%a %b %d %H:%M:%S %Y', time.localtime()))
Fri Feb 28 20:13:49 2020
>>>
>>> print(time.strftime('%a %b %d %H:%M:%S %Y'))    # 未指定 t,则使用由 localtime() 返回的当前时间
Fri Feb 28 20:15:16 2020

7、time.strptime(string[, format])

time.strftime() 函数相反,time.strptime() 则是根据指定的格式把一个时间字符串解析为时间元组。string 参数表示时间字符串,format 参数表示格式化字符串。

应用举例:

>>> import time
>>> print(time.strptime("Fri Feb 28 20:13:49 2020", "%a %b %d %H:%M:%S %Y"))
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=20, tm_min=13, tm_sec=49, tm_wday=4, tm_yday=59, tm_isdst=-1)

strftime()strptime() 方法中 format 参数为时间日期格式化符号,各个格式化符号所代表的意思如下:

格式化符号 含义
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%d 月内中的一天(0-31)
%f 以十进制数表示的毫秒,在左侧补零
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%j 年内的一天(001-366)
%m 月份(01-12)
%M 分钟数(00=59)
%p 本地A.M.或P.M.的等价符
%S 秒(00-59)
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%z ±HHMM[SS[.ffffff]] 形式的 UTC 差值(如果对象为简单型则为空字符串)
%Z 当前时区的名称
%% %号本身

8、time.clock()

将当前 CPU 处理器时间返回为以秒为单位的浮点数,通常用来衡量不同程序的耗时,比 time.time() 更有用。

注意:该函数在不同的系统上含义不同,在 Unix 系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在 Windows 中,第一次调用,返回的是进程运行的实际时间,而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以 Win32 上 QueryPerformanceCounter() 为基础,它比毫秒表示更为精确)

应用举例:

>>> import time
>>> time.clock()               # 获取时钟秒数
3e-07                          # 第一次调用该函数以来到执行截止的秒数
>>> t1 = time.clock()          # 第二次执行该函数截止秒数
>>> t2 = time.clock()          # 第三次执行该函数截止秒数
>>> t2 - t1                    # 第三次与第二次执行该函数截止秒数差
9.1433732

9、time.asctime([t])

该函数接受时间元组,并返回一个可读的形式为 Fri Feb 28 20:40:14 2020(2020年2月28日 周五20时40分14秒)的24个字符的字符串。

日期字段的长度为两个字符,如果日期只有一个数字则会以零填充。

如果不加参数 t,默认就是 time.localtime() 返回的时间元组。

接受的时间元组可以是由 gmtime()localtime() 所返回的表示时间的元组。

应用举例:

>>> print(time.asctime())                     # 不接收参数,默认 time.localtime() 返回的时间元组
Fri Feb 28 20:44:16 2020
>>>
>>> print(time.asctime(time.localtime()))     # 接受 time.localtime() 参数
Fri Feb 28 20:45:49 2020
>>>
>>> print(time.asctime((2020,2,28,20,40,14,5,59,0)))  # 人工指定时间结构元组
Sat Feb 28 20:40:14 2020

10、time.ctime([secs])

该函数把一个时间戳(按秒计算的浮点数)转化为 time.asctime() 的形式。 如果参数未给或者为 None 的时候,将会默认 time.time() 为参数。它的作用相当于 asctime(localtime(secs))。secs 参数表示要转换为字符串时间的秒数。

应用举例:

>>> print(time.ctime())
Fri Feb 28 20:55:23 2020
>>>
>>> print(time.ctime(1582879127))
Fri Feb 28 16:38:47 2020

【Python 标准库学习】时间相关的函数库 — time相关推荐

  1. 从Theano到Lasagne:基于Python的深度学习的框架和库

    从Theano到Lasagne:基于Python的深度学习的框架和库 [日期:2015-08-03] 来源:http://creative-punch.net/  作者:Creative Punch ...

  2. keil lib 只调用自己的函数_C语言学习篇(28)——函数库

    引言 我们在编写代码时,常常会写一个.c源文件和与之对应的.h文件(例如a.c和a.h),并在源文件.c中定义(具体实现)一些函数,在.h文件中声明, 这样我们就可以在其他源文件中包含该头文件,来调用 ...

  3. STM32 HAL库学习笔记2 HAL库介绍

    STM32 HAL库学习笔记2 HAL库介绍 CMSIS标准 一.再次认识HAL库 HAL库设计思想 HAL库实现方式 以GPIO模块为例 GPIO外设数据类型 GPIO外设接口函数 二.使用HAL库 ...

  4. C运行库和C语言函数库/Microsoft C运行库

    C运行库和C语言函数库/Microsoft C运行库 2009-03-04 10:27 973人阅读 评论(0) 收藏 举报 c语言librarydll编译器fortran 1.C运行库和C语言函数库 ...

  5. 【Python 标准库学习】容器数据类型库 — collections

    欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ collections 模块实现了特定目标的容器,以提供Python标准内建容器 ...

  6. 基于python的深度学习框架有_从Theano到Lasagne:基于Python的深度学习的框架和库...

    深度学习是机器学习和人工智能的一种形式,利用堆积在彼此顶部的神经网络的多个隐藏层来尝试形成对数据更深层次的"理解". 最近,深度神经网络以"Deep Dreams&quo ...

  7. c语言添加miracl库,密码学C语言函数库——Miracl库快速上手中文指南(VC)

    一.简介 密码学学习.研究人员往往着重于理论研究,难以与实践直接挂钩,今天介绍一下国外著名密码学C语言函数库--Miracl库的使用方法. 该库针对公钥密码学和椭圆曲线密码学的实现,写了很多函数,在这 ...

  8. 【Python 标准库学习】伪随机数生成库 — random

    欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ 随机函数在很多科学计算中都会用到,比如生成一系列随机数来计算平均值.高斯分布.伽马 ...

  9. python的gdal库说明_GDAL库学习笔记(一): GDAL库介绍

    可能你不玩GIS,不懂这个库到底有什么用,或者和python有什么关系.但是你要玩GIS,RS,你就应当知道这个库的价值.就算你不玩GIS,我想这个库对你也应该有致命的吸引力.为什么?看下面的介绍吧! ...

最新文章

  1. 032_使用ArrayDeque模拟栈结构
  2. java速查表_Java8新功能速查表 - 穿梭于偶然
  3. VS查看C++类的内存分布、初步了解类的内存分布
  4. 网页爬虫中文乱码问题Python
  5. (02)vtk 绘制模型的外轮廓线 模型轮廓线
  6. 数字图像处理 采样定理_数字图像处理(第4版)
  7. 全长扩增子:是时候展示真正的技术了
  8. App 启动时如何知道 CloudKit 的 iCloud 数据同步操作已经结束了?
  9. wireshark如何抓取本机包
  10. 关于 Web3.0前端工程师需要具备哪些技术?
  11. 游戏服务器 数据同步方案
  12. 全球各大运营商代码。方便国外卡的朋友修改运营商显示
  13. 数据库管理工具的使用
  14. 51单片机c语言dac0832产生波形,单片机DAC0832波形发生器实验报告
  15. 国王将金币作为工资,发放给忠诚的骑士。
  16. 用户记忆设计:如何设计印象深刻的用户体验 | Viget
  17. 你上面写的代码用什么编程软件?
  18. 多校官宣:第二轮“双一流”,新增这些学科!
  19. IE-4000-16GT4G-E 思科 IE系列交换机
  20. 梦回传奇战网服务器存档修改,梦回传奇单机版(backmir)问题集锦

热门文章

  1. Android项目实战视频教程_快递轨迹查询应用开发
  2. SqlServer查询语句中用到的锁
  3. 你是个有魅力的人吗?人格魅力这样修养而成
  4. 第七章 scikit-learn与机器学习实战
  5. 目前微型计算机的内存储量一般是多大的,微型计算机内存容量的大小一般是指什么而言...
  6. android 4.2 noclassdeffounderror,NoClassDefFoundError:android.support.v7.internal
  7. 二叉树垂直遍历 java_【004】二叉树垂直遍历
  8. opencv rect画旋转矩形_在opencv c中绘制旋转的矩形
  9. Codeforces Round #756 (Div. 3)
  10. ipv6地址格式_IPV6与IPV4的差异