linux - 将 Epoch 中的人类可读日期转换为变量

标签 linux bash epoch

好吧,这可能是一个非常基本的问题;但是,我刚刚重新开始使用 Linux。

我有一个变量,它保存一个名为 pauseTime 的纪元时间。 我需要该变量成为人类可读的(类似于 2012-06-13 13:48:30)。

我知道我可以直接输入

date -d @133986838 //just a random number there

那会打印出类似的东西。但是我需要让变量来保存人类可读的日期,而不是纪元时间……我尝试的所有事情都会遇到错误。关于如何做到这一点有什么想法吗?

最佳答案

好吧,这样做:

VARIABLENAME=$(date -d @133986838)

然后

export VARIABLENAME

或在 Bash 中直接执行:

export VARIABLENAME=$(date -d @133986838)

如果要格式化,请使用通常的 ISO 格式:

export ISODATE=$(date -d @133986838 +"%Y-%m-%d %H:%M:%S")
# or
EPOCHDATE=133986838
export ISODATE=$(date -d @$EPOCHDATE +"%Y-%m-%d %H:%M:%S")

+ 后面的格式在 man date 中解释。

注意:$() 是反引号的现代形式。 IE。将命令的输出捕获到变量中。然而,$() 使一些事情变得更容易,最显着的是其中的转义规则。因此,如果您的 shell 能够理解,您应该始终更喜欢它而不是反引号。

关于linux - 将 Epoch 中的人类可读日期转换为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11021460/

相关文章:

linux - Bash - 在目录及其 sbdirectories 中查找多个特定文件夹并重命名这些特定文件夹

linux - 比较两个文件后的行数少于预期

linux - 在 unix/linux 命令行中定义函数(例如 BASH)

Python 子进程调用不起作用

javascript - 在 javascript 中将纪元时间显示为 HHMM 格式

sql - 如何将 unix 时间戳 (INT) 转换为 monetdb 时间戳 ('YYYY-MM-DD HH:MM:SS' ) 本地时间格式

c - 自纪元以来的打印时间(以纳秒为单位)

linux - 如何在 shell 中使用花括号 (bash)

linux - 获取之前的 nginx 配置文件

linux - STAG 和命令行有什么区别?