Python 3.x 中如何使用time模块进行时间处理

Python 3.x 中如何使用time模块进行时间处理

时间的表示

时间是一种比较特殊的数据类型,因为它不是数值,但它需要与数值进行处理。在 Python 3.x 中,time 模块是处理时间和日期的标准库之一。time 模块提供了多种函数来处理时间,同时还提供了很多常量来表示日期时间的各个方面,例如日期格式、周几等。

在 Python 中,时间可以表示为整数或元组形式。元组中包含了年、月、日、小时、分钟、秒、星期几和一年中第几天这些信息,例如:

import time

print(time.localtime())

输出结果:

time.struct_time(tm_year=2021, tm_mon=1, tm_mday=28, tm_hour=15,

tm_min=18, tm_sec=37, tm_wday=3, tm_yday=28, tm_isdst=0)

可见,time.localtime() 以元组形式返回了当前的具体时间信息,其中 tm_wday 表示星期几,0代表星期一,1代表星期二,以此类推,tm_yday 表示一年中的第几天,从 1 开始计数。tm_isdst 表示是否为夏令时 0 表示不是,1 表示是,-1 表示未知。

时间的格式化

对于日期和时间的处理,将其转化为字符串是非常常见的需求,这就要用到时间格式化。

time 对象有自己的二进制表示,也有字符串表示。字符串表示有两种方式:

1. 可以用 % 运算符来格式化时间

2. 可以用 strftime() 来生成更多格式的时间

第一种方法比较常用,它用 %d、%m、%Y 等符号代表日期、月份、年等等。第二种方法比较强大,它可以生成更加丰富和更具可读性的字符串格式。

下面是一个简单的示例,展示了如何将时间格式化输出:

import time

t = time.localtime()

print(time.strftime("%Y-%m-%d %H:%M:%S",t))

输出结果:

2021-01-28 15:18:37

为了更好地说明时间格式化的使用方法,下表列出了常用的格式化符号:

| 符号 | 说明 |

| ------ | ------ |

| %d | 日期,如01 |

| %m | 月份,如07 |

| %Y | 年,如2019 |

| %H | 24小时制小时数,如18 |

| %M | 分钟数,如32 |

| %S | 秒数,如08 |

| %a | 简写星期几,如Mon |

| %A | 全写星期几,如Monday |

| %b | 简写月份名,如Jan |

| %B | 全写月份名,如January |

| %c | 适用于本地设置的日期和时间字符串 |

| %j | 一年中的第几天,如001 |

| %p | 适用于本地设置的 AM 或 PM |

| %U | 一年中的第几周,以星期日为第一天,0-53 |

| %w | 一周中的第几天,0代表星期天,1代表星期一,以此类推 |

| %W | 一年中的第几周,以星期一为第一天,0-53 |

| %x | 适用于本地设置的日期字符串 |

| %X | 适用于本地设置的时间字符串 |

| %Z | 时区名称 |

| %% | % 字符 |

时间处理

除了能够获取当前时间和格式化时间,time 模块还可以用于时间处理。

1. 时间戳

时间戳是一个浮点数,返回自纪元(1970年1月1日午夜UTC,也就是格林威治时间)以来的秒数。时间戳是处理时间的一种标准方式,Python提供了多种函数来处理时间戳。

示例代码:

import time

print(time.time())

输出结果:

1611847569.0347278

2. 延迟

time.sleep()函数可以暂停程序运行。示例代码:

import time

print("打印前")

time.sleep(2.5)

print("打印后")

输出结果:

打印前

#停顿2.5s

打印后

3. 时间计算

time 模块中提供了几个函数来计算时间,如 time.clock() 和 time.process_time()

import time

print("clock()所需时间: ", time.clock()) # 前一个与后一个time间隔了多少秒

print("process_time()所需时间: ", time.process_time()) # 返回本进程运行的CPU时间

输出结果:

clock()所需时间: 5.653035

process_time()所需时间: 213.28125

结语

Python 的 time 模块虽然在使用过程中存在一定的复杂度,但是掌握它的时间处理功能会对代码编写和调试等方面非常有帮助。 以上便是 Python 3.x 中如何使用time模块进行时间处理的相关内容,希望对大家有所帮助。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签