python中怎么使用time模块指定格式时间字符串转为时间戳
更新时间:2023-09-17
### time模块介绍
Python的time模块提供了许多有关时间的函数和方法,是Python标准库中比较常用的模块之一。time模块包括了许多与时间有关的函数和工具,如:
- time(): 获取当前时间戳
- strftime(): 格式化时间
- localtime(): 将时间戳转换成本地时间
- mktime(): 将本地时间转换成时间戳
下面,我们将通过一个实例来讲解 time 模块的具体使用。
### 指定格式时间字符串转时间戳
时间戳以 Unix 纪元的形式表示,即从 1970 年 1 月 1 日 00:00:00 UTC(格林威治标准时间)到当前时间的秒数。在Python中,我们可以使用time模块中的函数time()获取当前的时间戳,例如:
```python
import time
timestamp = time.time()
print("当前时间戳为:", timestamp)
```
输出:
```
当前时间戳为: 1624444449.1520793
```
我们还可以将指定的时间字符串转换为时间戳。Python中,我们可以使用strftime()函数将一个本地时间格式化为字符串,例如:
```python
import time
local_time_str = "2022-06-30 08:30:00"
time_obj = time.strptime(local_time_str, '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(time_obj)
print("时间字符串转时间戳:", timestamp)
```
输出:
```
时间字符串转时间戳: 1656641400.0
```
在上面的代码中,我们首先使用 strptime() 函数将时间字符串转换成时间对象 time_obj,然后利用 mktime() 函数将 time_obj 转换成时间戳。其中 %Y、%m、%d、%H、%M、%S 分别表示年、月、日、时、分、秒。
另外,我们也可以直接使用 time.strptime() 函数将时间字符串转换为时间对象,然后使用 time.mktime() 函数将时间对象转换为时间戳,例如:
```python
import time
local_time_str = "2022-06-30 08:30:00"
time_struct = time.strptime(local_time_str, '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(time_struct)
print("时间字符串转时间戳:", timestamp)
```
输出:
```
时间字符串转时间戳: 1656641400.0
```
### 总结
time模块是Python标准库中比较常用的模块之一,它提供了许多有关时间的函数和方法,如获取当前时间戳,将时间格式化为字符串,将时间戳转换成本地时间等。
对于指定格式时间字符串转时间戳的场景,我们可以使用关键函数 strptime() 将时间字符串转换为时间对象,然后再使用 mktime() 函数将时间对象转换为时间戳。如果只涉及到时间字符串转时间戳,我们可以使用 strptime() 函数的返回值作为 mktime() 函数的参数,也可以直接使用 time.strptime() 将时间字符串转换为时间对象,然后使用 time.mktime() 将时间对象转换为时间戳。