Python 的 `time` 模块是自带的标准模块,不需要额外安装,可以直接通过import time的方式导入并使用其中的函数和类。该模块提供了与时间相关的各种功能,以下是一些常用方法及其应用场景和示例:
### 1. `time.time()`
- **功能**:返回自 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数(时间戳)。
- **应用场景**:常用于计算程序的执行时间、记录事件发生的时间等。
- **示例**:
```python
import time
# 记录开始时间
start_time = time.time()
# 模拟一个耗时操作
for i in range(1000000):
pass
# 记录结束时间
end_time = time.time()
# 计算程序执行时间
execution_time = end_time - start_time
print(f"程序执行时间: {execution_time} 秒")
```
### 2. `time.sleep(secs)`
- **功能**:使当前线程暂停执行指定的秒数,参数是秒,可以是小数。
- **应用场景**:常用于模拟延迟、控制程序的执行速度等。
- **示例**:
```python
import time
print("开始执行")
# 暂停 2 秒
time.sleep(2)
print("2 秒后继续执行")
time.sleep(2.3)
print("2.3 秒后继续执行")
```
### 3. `time.localtime([secs])`
- **功能**:将一个时间戳(可选参数,默认为当前时间戳)转换为本地时间的 `struct_time` 对象。
- **应用场景**:用于将时间戳转换为可读的本地时间格式,方便后续处理和显示。
- **示例**:
```python
import time
# 获取当前时间戳
timestamp = time.time()
# 将时间戳转换为本地时间的 struct_time 对象
local_time = time.localtime(timestamp)
print(local_time)
```
### 4. `time.gmtime([secs])`
- **功能**:将一个时间戳(可选参数,默认为当前时间戳)转换为 UTC 时间的 `struct_time` 对象。
- **应用场景**:在需要处理国际标准时间(UTC)时使用,例如处理跨时区的时间数据。
- **示例**:
```python
import time
# 获取当前时间戳
timestamp = time.time()
# 将时间戳转换为 UTC 时间的 struct_time 对象
utc_time = time.gmtime(timestamp)
print(utc_time)
```
### 5. `time.mktime(t)`
- **功能**:将一个 `struct_time` 对象转换为时间戳。
- **应用场景**:在需要将本地时间转换为时间戳时使用,例如在存储时间数据时,时间戳是一种更方便的表示方式。
- **示例**:
```python
import time
# 获取当前本地时间的 struct_time 对象
local_time = time.localtime()
# 将 struct_time 对象转换为时间戳
timestamp = time.mktime(local_time)
print(timestamp)
```
### 6. `time.strftime(format[, t])`
- **功能**:将一个 `struct_time` 对象(可选参数,默认为当前本地时间)按照指定的格式转换为字符串。
- **应用场景**:用于将时间以自定义的格式输出,例如在日志记录、文件命名等场景中使用。
- **示例**:
```python
import time
# 获取当前本地时间的 struct_time 对象
local_time = time.localtime()
# 将时间按照指定格式转换为字符串
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(formatted_time)
formatted_time2 = time.strftime("%y-%m-%d %h:%M:%S", local_time)
print(formatted_time2)
```
注意time.strftime中格式话的参数的大小写不同是有区别的,按照实际需求进行调整。
### 7. `time.strptime(string, format)`
- **功能**:将一个时间字符串按照指定的格式解析为 `struct_time` 对象。
- **应用场景**:在需要将用户输入的时间字符串或从文件中读取的时间字符串转换为可处理的时间对象时使用。
- **示例**:
```python
import time
# 时间字符串
time_string = "2024-10-01 12:30:00"
# 将时间字符串按照指定格式解析为 struct_time 对象
time_struct = time.strptime(time_string, "%Y-%m-%d %H:%M:%S")
print(time_struct)
```