Linux/UNIX:将时代秒转换为当前时间

时间:2020-01-09 10:37:49  来源:igfitidea点击:

在UNIX或Linux操作系统下,如何将Epoch秒转换为当前时间?

Unix时间(即POSIX时间)是一种用于描述时间点的系统,该时间点定义为自1970年1月1日午夜多点协调世界时(UTC)起经过的秒数,不包括leap秒。

打印当前的UNIX时间

执行以下命令以显示自纪元以来的秒数:

date +%s

输出示例:

1268727836

将时代转换为当前时间

输入命令:

date -d @Epoch
date -d @1268727836
date -d "1970-01-01 1268727836 sec GMT"

输出示例:

Tue Mar 16 13:53:56 IST 2010

请注意,@功能仅适用于最新版本的日期(GNU coreutils v5.3.0 +)。
要将秒数转换回更易读的形式,请使用如下命令:

date -d @1268727836 +"%d-%m-%Y %T %z"

输出示例:

16-03-2010 13:53:56 +0530

警告!注意,date和awk命令语法可能不适用于所有版本的UNIX。
请参考系统本地的手册页。

AWK示例

echo 1268727836 | awk '{print strftime("%c",)}'

Perl示例

perl -e "print scalar(localtime(1268727836))"