Python标准库time详解

1、time库

  • 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
  • 结构化时间(struct_time)方式:struct_time元组共有9个元素
  • 格式化的时间字符串(format_string),时间格式的字符串

1.1、获取格林威治西部的夏令时地区的偏移秒数

  • 如果该地区在格林威治东部会返回负值(如西欧,包括英国)
  • 对夏令时启用地区才能使用
# coding:utf-8
import time
# 获取格林威治西部的夏令时地区的偏移秒数。
print(time.altzone)

1.2、时间函数

  • 时间戳
    指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
  • 时间元组
    用一个元组装起来的9组数字
字段 含义
tm_year 4位数年 2008
tm_mon 1 到 12
tm_mday 1 到 31
tm_hour 小时 0 到 23
tm_min 分钟 0 到 59
tm_sec 0 到 61(60或61 是闰秒)
tm_wday 一周的第几日 0 到 6(0是周一)
tm_yday 一年的第几日 1 到 366(儒略历)
tm_isdst 夏令时 -1, 0, 1 是决定是否为夏令时的旗帜
# coding:utf-8
import time
# 返回当前时间的时间戳(1970纪元后经过的浮点秒数)
print(time.time())
#  接收时间戳返回一个24个定长可读形式的字符串
print(time.ctime()) # Thu Jul  7 20:17:14 2022
print(len(time.ctime()), type(time.ctime()))    # 24 <class 'str'>
# 接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组
print(time.localtime())
print(time.localtime(time.time()))
# 接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组
print(time.gmtime())
print(time.gmtime(time.time()))
# 接收时间元组并返回一个可读的形式为"Thu Jul  7 20:11:04 2022"(2022年7月7日 周四20时11分04秒)的字符串,长度固定为24字符
print(time.asctime())
print(time.asctime(time.gmtime()))
print(time.asctime(time.localtime()))
print(len(time.asctime()), type(time.asctime()))  # 24 <class 'str'>
# 接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)
# print(time.mktime())  # 参数不可为空 TypeError: time.mktime() takes exactly one argument (0 given)
print(time.mktime(time.gmtime()))
print(time.mktime(time.localtime()))
print(type(time.mktime(time.gmtime())))  # 浮点秒数<class 'float'># 返回以秒为单位的时间浮点值
print(time.perf_counter())
print(type(time.perf_counter()))
# 返回以纳秒为单位的时间整数值
print(time.perf_counter_ns())           # <class 'float'>
print(type(time.perf_counter_ns()))     # <class 'int'>

1.3、格式化时间、日期

  • 时间格式,格式化日期和时间时使用
格式符号 符号的含义
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为 0,星期一为 1,以此类推。
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
# coding:utf-8
import time
import datetime# 格式化日期
print(time.strftime('%Y-%m-%d %H:%M:%S'))
print(time.strftime('%Y-%m-%d %I:%M:%S'))
print(time.strftime('%X'))
print(time.strftime('%Z'))
# 将字符串转 时间元组
# '%a %b %d %H:%M:%S %Y'
print(time.strptime('2022-07-07 09:58:24', '%Y-%m-%d %H:%M:%S'))
print(time.strptime('2022-07-07 09:58:24', '%Y-%m-%d %I:%M:%S'))

1.4、单调时钟

  • 单调时钟是不能向后移动的时钟
  • 常用来计算程序运行处理时长
# coding:utf-8
import time
# 获取 单调时钟的值,单调时钟是不能向后移动的时钟
# 常用来计算程序运行处理时长
start_time = time.monotonic()
i = 0
print(f"循环开始时钟值:{start_time}", type(start_time))  # 循环开始时钟值:6718828000000 <class 'int'>
while i <= 10:time.sleep(0.1)i += 1
end_time = time.monotonic()
print(f"循环结束时钟值:{end_time}")
print(f"循环运行时间为:{end_time - start_time} 秒")
# 获取单调时钟的值 以纳秒计算
start_time_ns = time.monotonic_ns()
i = 0
print(f"循环开始时钟值:{start_time_ns}", type(start_time_ns))  # 循环开始时钟值:6718828000000 <class 'int'>
while i <= 10:time.sleep(0.1)i += 1
end_time_ns = time.monotonic_ns()
print(f"循环结束时钟值:{end_time_ns}")
print(f"循环运行时间为:{end_time_ns - start_time_ns} 纳秒")
# 返回以秒为单位的时间浮点值,用法同time.monotonic()
print(time.perf_counter())
print(type(time.perf_counter()))
# 返回以纳秒为单位的时间整数值,用法同time.monotonic_ns()
print(time.perf_counter_ns())           # <class 'float'>
print(type(time.perf_counter_ns()))     # <class 'int'>
# 返回当前系统时间与CPU时间的浮动值(以秒为单位)
print(time.process_time())
# 返回当前系统时间与CPU时间的浮动值(以纳秒为单位)
print(time.process_time_ns())
# 睡眠,参数的单位为秒
time.sleep(1) # 程序等待1秒钟后再执行

Python标准库time详解相关推荐

  1. pillow是python的图像处理标准库_详解Python图像处理库Pillow常用使用方法

    pil(python image library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了. 其官方主页为:pil. pil ...

  2. python random库安装,详解python第三方库的安装、PyInstaller库、random库

    python第三方库的安装 PyInstaller库 PyInstaller库能够在不同操作系统下将python源文件打包,变成直接可运行的可执行文件. 可以通过-F参数对python源文件生成一个独 ...

  3. 最全python爬虫库安装详解

    目录 一.请求库的安装 1.requests 的安装 2.Selenium的安装 3.ChromeDrive 的安装 4.GeckoDriver 的安装 5.PhantomJS 的安装 6.aioht ...

  4. 【C标准库】详解feof函数与EOF

    创作不易,多多支持! ‾ \underline{创作不易,多多支持! } 创作不易,多多支持!​ 再说此函数之前,先来说一下EOF是什么 EOF,为End Of File的缩写,通常在文本的最后存在此 ...

  5. python tkinker库模块详解

    1.脚本名称不能命名为模块名,否则会报: Traceback (most recent call last):   File "C:/Users/Administrator/PycharmP ...

  6. 【C标准库】详解fopen函数 一篇让你搞懂fopen函数

    创作不易,感谢支持!‾\underline{创作不易,感谢支持! }创作不易,感谢支持!​ fopen函数 头文件:stdio.h 功能是打开一个文件,其声明格式是: FILE *fopen(cons ...

  7. pythondifflib详解_用python标准库difflib比较两份文件的异同详解

    [需求背景] 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好.这时候使用python ...

  8. python标准库对象导入语句_Python标准库之Sys模块使用详解

    sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...

  9. Python标准库datetime之date模块详解

    Python标准库datetime之date模块详解 datetime是Python提供的操作日期和时间的标准库,主要有datetime.date模块.datetime.time模块及datetime ...

最新文章

  1. win7 cmd执行vue不是内部命令解决办法
  2. CSS3 里添加自定义字体
  3. Android Studio快捷键(MAC版)
  4. 2017 秦皇岛CCPC Balloon Robot (ZOJ 3981)
  5. 整数反转Java_详解 LeetCode_007_整数反转(Java 实现)
  6. JMJS系统总结系列----XSLT的语句规则(一)
  7. WEBPACK+ES6+REACT入门(3/7)-react组件以及props
  8. Docker修改MySQL默认端口
  9. 收藏 | 应急响应的基本流程
  10. MEMORY系列之“DDR参数”
  11. 供应链管理 MOOC学习笔记(全)
  12. latex插入参考文献--BibTex格式
  13. 常用八大数据结构总结及应用场景-附示例截图
  14. 氢键H-H的博客目录
  15. 转贴: 傅立叶级数(Fourier Series) 推导
  16. 解决Android Studio无法下载
  17. java棒棒糖和皮卡丘八音盒_KFC用玩具提前要走了压岁钱
  18. Qt/C++ 数据库SQL 增删改查 语句示例
  19. 唯此间江湖年少,偏爱纵横天下。
  20. 学计算机老师,兴趣是学习计算机最好的老师

热门文章

  1. jQuery实现抖音钟表转盘动画
  2. Oracle国家节假日以及交易日筛选的存储过程
  3. 霍尼韦尔和剑桥量子,强强联手!
  4. iphone扫描文件图片转为文字,苹果x手机图片转文字,苹果手机jpg转换成word,ipad怎么把图片转化成文字
  5. Python计算时域、频域特征参数
  6. 2023通信、网络和信息系统国际大会(CNIS 2023)
  7. 关于百度静态资源库无法打开的解决办法
  8. vivado在下载bit和固化mcs文件报错:ERROR:End of startup status: LOW
  9. MBTI 热度爆火的需求分析
  10. ESXI 直通ax200无线网卡的坑