时间文本转换为时间戳
时间: 2023-11-24 12:16:35 浏览: 75
好的,您可以使用Python中的datetime库来实现时间文本转换为时间戳。以下是一个示例代码:
```python
import datetime
import time
date_str = "2021-01-01 08:00:00" # 时间文本
date_time = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") # 将时间文本转换为datetime类型
timestamp = int(time.mktime(date_time.timetuple())) # 将datetime类型转换为时间戳
print(timestamp)
```
输出结果为 `1609459200`,即时间文本 "2021-01-01 08:00:00" 对应的时间戳。
相关问题
shell脚本实现将文本中的时间戳全部转换为系统时间
可以通过使用`date`命令来将时间戳转换为系统时间。以下是一个示例脚本,可以将一个文件中的所有时间戳转换为系统时间:
```bash
#!/bin/bash
while read line; do
# 使用正则表达式匹配时间戳
if [[ $line =~ [0-9]{10} ]]; then
# 将时间戳转换为系统时间
timestamp=$(echo $line | grep -o '[0-9]\{10\}')
date=$(date -d @$timestamp)
# 替换原文本中的时间戳
line=${line/$timestamp/$date}
fi
echo $line
done < input.txt
```
将上述脚本保存为`convert_timestamp.sh`,并将待转换的文本保存为`input.txt`,则可以通过以下命令运行脚本:
```
$ bash convert_timestamp.sh
```
脚本将会输出转换后的文本。注意,上述脚本中的时间戳是以秒为单位的,如果文本中的时间戳是以毫秒或微秒为单位的,则需要进行相应的调整。
datetime将时间文本转为时间戳
可以使用datetime模块中的strptime函数将时间文本转换为datetime对象,然后使用timestamp函数将datetime对象转换为时间戳。
示例代码如下:
```python
import datetime
time_str = "2021-01-01 00:00:00"
dt = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
timestamp = dt.timestamp()
print(timestamp)
```
输出结果为:
```
1609459200.0
```
其中,strptime函数的第一个参数为要转换的时间文本,第二个参数为时间文本的格式,具体格式可以参考Python官方文档。timestamp函数用于将datetime对象转换为时间戳,返回值为浮点数。
阅读全文