第12.5节 Python time模块导览
2024-10-21 20:27:49
一、时间相关的概念
time模块模块提供了各种时间相关的函数,在介绍时间相关功能前,先介绍一些术语和惯例:
- epoch 是时间开始的点,并且取决于平台。对于Unix, epoch 是1970年1月1日00:00:00(UTC)。要找出给定平台上的 epoch ,请查看 time.gmtime(0) 。
- 术语 Unix 纪元秒数 是指自国际标准时间 1970 年 1 月 1 日零时以来经过的总秒数,通常不包括 闰秒。 在所有符合 POSIX 标准的平台上,闰秒都会从总秒数中被扣除。
- time模块中的功能可能无法处理纪元之前或将来的远期日期和时间。未来的截止点由C库决定;对于32位系统,它通常在2038年。
- 2000年(Y2K)问题 :Python依赖于平台的C库,它通常没有2000年问题,因为所有日期和时间都在内部表示为自纪元以来的秒数。函数 strptime() 在给出 %y 格式代码时可以解析2位数年份。当解析2位数年份时,它们将根据 POSIX 和 ISO C 标准进行转换:值 69–99 映射到 1969–1999,值 0–68 映射到2000–2068。
- UTC是协调世界时(以前称为格林威治标准时间,或GMT)。缩写UTC不是错误,而是英语和法语之间的妥协。
- DST是夏令时,在一年中的一部分时间(通常)调整时区一小时。 DST规则很神奇(由当地法律确定),并且每年都会发生变化。 C 库有一个包含本地规则的表(通常是从系统文件中读取以获得灵活性),并且在这方面是True Wisdom的唯一来源。
- 各种实时函数的精度可能低于表示其值或参数的单位所建议的精度。例如,在大多数Unix系统上,时钟 “ticks” 仅为每秒50或100次。
二、time模块的主要功能
- time.asctime([t]):转换一个元组或 struct_time 表示的时间t,由 gmtime() 或 localtime() 返回为以下形式的字符串: ‘Wed Aug 7 11:21:16 2019’ 。如果未提供 t ,则使用由 localtime() 返回的当前时间。
- time.ctime([secs]):将自 epoch以来的秒数 表示的时间转换为表示本地时间的字符串。如果未提供 secs 或为 None,则使用由 time() 返回的当前时间。 ctime(secs) 相当于 asctime(localtime(secs)) 。
- time.gmtime([secs]):将 自 epoch以来的秒数表示的时间转换为UTC的 struct_time ,如果未提供 secs 或为 None ,则使用由 time() 返回的当前时间。
- time.localtime([secs]):与 gmtime() 相似但转换为当地时间。如果未提供 secs 或为 None ,则使用由 time() 返回的当前时间。
- time.mktime(t):这是 localtime() 的反函数。它的参数是 struct_time 或者完整的 9 元组,它表示 本地时间,而不是 UTC 。
- time.process_time():返回当前进程的系统和用户CPU时间总和的值(以小数秒为单位)。它不包括睡眠期间经过的时间。根据定义,它在整个进程范围中。返回值的参考点未定义,因此只有连续调用结果之间的差异才有效。
- time.sleep(secs):休眠secs秒,参数可以是浮点数,以指示更精确的睡眠时间。实际的暂停时间可能小于请求的时间,因为任何捕获的信号将在执行该信号的捕获例程后终止 sleep() 。。
- time.strftime(format[, t]):转换一个元组或 struct_time 表示的由 gmtime() 或 localtime() 返回的时间到由 format 参数指定的字符串。如果未提供 t ,则使用由 localtime() 返回的当前时间。 format 必须是一个字符串。如:
>>> "{}".format(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
'2019-08-07 11:30:53'
>>>
- time.strptime(string[, format]):根据格式解析表示时间的字符串。 返回值为一个被 gmtime() 或 localtime() 返回的 struct_time 。format 参数使用与 strftime()使用的指令相同的指令。它默认为匹配 ctime() 返回格式的 “%a %b %d %H:%M:%S %Y”` 。
关于时间的模块还有datetime和calendar,在此不在介绍,大家自行查询相关文档。
老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython
请大家多多支持,点赞、评论和加关注!谢谢!
最新文章
- ie6-ie8中不支持opacity透明度的解决方法
- Apache安装配置步骤
- hdu-----(1179)Ollivanders: Makers of Fine Wands since 382 BC.(二分匹配)
- 警惕VPS服务商常用的超售手段
- 实战项目:通过当当API将订单抓取到SAP(二)
- Cocos2d-x坐标系介绍
- Android UI -- 布局介绍(布局包括FrameLayout, LinearLayout, RelativeLayout, GridLayout)
- uc/os 笔记(转)
- 不同版本的 IIS 中使用 ASP.NET MVC(C#)【转】
- ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)
- [转]Building a Basic Fuzzer with GDB: The Five Minute GDB Scripting Tutorial
- #最小生成树# #kruskal# ----- OpenJudge丛林中的路
- logback中批量插入数据库的参考代码
- NRPE介绍
- P2757 [国家集训队]等差子序列
- saltstack系列~第二篇
- Hadoop(二) HADOOP集群搭建(简化版)
- spring data jpa查询部分字段、多余附加字段
- SqlServer代理作业
- Spring velocity 中文乱码 解决方案
热门文章
- 深入学习OpenCV文档扫描及OCR识别(文档扫描,图像矫正,透视变换,OCR识别)
- Redis缓存穿透和雪崩
- [MIT6.006] 10. Open Addressing, Cryptographic Hashing 开放定址,加密哈希
- 实验3ss
- MyBatis 中 @Param 注解的四种使用场景
- linux 调试&;各种知识收集2(持续更新)
- 315. Count of Smaller Numbers After Self(二分或者算法导论中的归并求逆序数对)
- Ubuntu18.04上安装CUDA_10.1(nvidia-driver)和cuDNN_7.6.5
- 1-06-2 Lambda表达式
- fio的配置使用