📜  bash 中的时间戳 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:28.494000             🧑  作者: Mango

在 Bash 中使用时间戳

在 Bash 中,我们可以使用时间戳来表示一个特定时间的绝对值。时间戳是一个整数,表示从 Unix 纪元(1970 年 1 月 1 日)至当前时间所经过的秒数。

获取当前时间戳

我们可以使用 date 命令来获取当前时间戳。示例代码如下:

#!/bin/bash
current_timestamp=`date +%s`
echo "当前时间戳为:$current_timestamp"

上述代码使用了 date 命令和参数 %s 来获取当前时间戳,并将其赋值给变量 current_timestamp。最后,使用 echo 命令来输出当前时间戳的值。

将时间戳转换为日期时间格式

有时候,我们需要将时间戳转换为更常见的日期时间格式,比如 YYYY-MM-DD HH:mm:ss。我们可以使用 date 命令来完成这个转换。示例代码如下:

#!/bin/bash
timestamp=1626888540
datetime=`date -d @$timestamp +"%Y-%m-%d %H:%M:%S"`
echo "时间戳 $timestamp 对应的日期时间为:$datetime"

上述代码使用了 date 命令和参数 -d 来将时间戳转换为日期时间格式。其中,@ 符号表示接下来的输入是一个时间戳。最后,使用 + 符号和参数 %Y-%m-%d %H:%M:%S 来指定日期时间格式,并将转换后的值赋值给变量 datetime。最后,使用 echo 命令来输出转换后的日期时间值。

将日期时间格式转换为时间戳

我们也可以将日期时间格式转换为时间戳。示例代码如下:

#!/bin/bash
datetime="2021-07-21 16:09:00"
timestamp=`date -d "$datetime" +%s`
echo "日期时间 $datetime 对应的时间戳为:$timestamp"

上述代码同样使用了 date 命令来完成转换。其中,直接将日期时间值作为参数传递给 date 命令,使用 +%s 参数来指定输出为时间戳。最后,使用 echo 命令输出时间戳的值。

总结

在 Bash 中,我们可以使用时间戳来表示一个时间的绝对值。我们可以使用 date 命令来获取当前时间戳,或者将时间戳转换为日期时间格式或将日期时间格式转换为时间戳。以上就是 Bash 中时间戳的基本用法。