将自纪元以来的秒数转换为人类可读的字符串

将自纪元以来的秒数转换为人类可读的字符串

命令date +%s生成1403568422。有没有一种简单的方法可以将转换1403568422为人类可读的 UTC 时间戳?

python -c "import datetime;print datetime.datetime.utcfromtimestamp(1403568422).isoformat()"类似;我也可以编写一个简短的 C 程序来做同样的事情。有没有更好的方法?

澄清

我不想让 date 以 UTC 格式打印当前时间。我希望 date(或其他实用程序)将自 UTC 以来的给定秒数(例如 1403568422)转换为人类可读的格式。

背景:我在一个文件中有这些时间戳,我想知道事情发生的具体时间。

答案1

我想你正在寻找这个,

date -d @$(date +%s) +"%Y-%m-%d %H:%M:%S"

它将自 1970-01-01 00:00:00 UTC 以来的秒数更改为人类可读的字符串。

例子:

$ date -d @$(date +%s) +"%Y-%m-%d %H:%M:%S"
2014-06-24 06:06:54

来源

答案2

您可以简单地使用date -d @seconds

date -d @1403568422

$ date -d @1403568422 
Mon Jun 23 19:07:02 CDT 2014

相关内容