Bash Shell纪元秒转换为日期和时间

Bash Shell纪元秒转换为日期和时间,你需要将纪元秒转换为人们能读懂的日期和时间。

解决方案

使用 GNU date 命令,配合需要的格式(参见日期和时间)。

$ EPOCH='1131173989'

$ date -d "1970-01-01 UTC $EPOCH seconds" +"%Y-%m-%d %T %z"
2005-11-05 01:59:49 -0500

$ date --utc --date "1970-01-01 $EPOCH seconds" +"%Y-%m-%d %T %z"
2005-11-05 06:59:49 +0000

讨论

如果你手边没有 GNU date 命令可用,可以尝试下列 Perl 单行脚本。

$ EPOCH='1131173989'

$ perl -e "print scalar(gmtime($EPOCH)), qq(\n);" # UTC
Sat Nov 5 06:59:49 2005

$ perl -e "print scalar(localtime($EPOCH)), qq(\n);" # Your local time
Sat Nov 5 01:59:49 2005

$ perl -e "use POSIX qw(strftime);
> print strftime('%Y-%m-%d %H:%M:%S',localtime($EPOCH)), qq(\n);"
2005-11-05 01:59:49

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!