shell 脚本时间戳相减之后,格式化成 %H:%M:%S
时间: 2023-07-15 17:14:51 浏览: 167
可以使用 `date` 命令来格式化时间戳。假设你有两个时间戳 `$timestamp1` 和 `$timestamp2`,可以使用以下命令计算它们的差值,并将结果格式化成 `%H:%M:%S` 的格式:
```
diff=$(expr $timestamp2 - $timestamp1)
formatted=$(date -u -d @$diff +%H:%M:%S)
echo $formatted
```
这里使用 `-u` 选项将输出转换为 UTC 时间,`-d @$diff` 表示将时间戳转换为日期时间,`+%H:%M:%S` 表示将日期时间格式化为 `%H:%M:%S` 的格式。
相关问题
时间戳1684967801000,变为'%Y-%m-%d %H:%M:%S'
时间戳1684967801000对应的日期时间为:2023-02-21 05:16:41
可以使用Python中的datetime模块将其转换为字符串格式:
```python
import datetime
timestamp = 1684967801000 / 1000 # 将毫秒级时间戳转换为秒级时间戳
dt = datetime.datetime.fromtimestamp(timestamp)
str_time = dt.strftime('%Y-%m-%d %H:%M:%S')
print(str_time)
```
输出结果为:'2023-02-21 05:16:41'
想要这种格式的"%Y-%m-%d %H:%M:%S"
如果你想将 DataFrame(df)中的 'time' 列转换为指定格式的字符串("%Y-%m-%d %H:%M:%S"),你可以使用 pandas 的 to_datetime() 方法结合 strftime() 方法来实现。
下面是修改后的代码示例:
```python
import pandas as pd
df['time'] = pd.to_datetime(df['time'], unit='s').dt.strftime("%Y-%m-%d %H:%M:%S")
```
这将使用 to_datetime() 方法将 'time' 列的每个值转换为 pandas 的日期时间类型,并使用 strftime() 方法将其格式化为指定的字符串格式。请确保 'time' 列的值是时间戳(例如,UNIX 时间戳)类型,以便正确进行转换。