UNIX/LINUX 中的时间转换

UNIX/LINUX 中的时间转换

我需要转换 unix 时间戳(自 2000 年以来的秒数)转换为标准的人类可读格式。我发现该命令 date -d @392603388.257982非常有效,但默认开始日期是 1970 年。

答案1

Linux 时间戳 (维基百科)是从1970年1月1日开始计算的。2000年是从哪里来的?这是作业吗?如果是,那么您可以使用date,但只需将给定的时间戳(从 2000 年开始计算)增加到 2000 年为止的秒数(我通过以下命令得到它:)date -u +"%s" -d "1/1/2000"

编辑:哦,注意时区,这就是我-u在上面添加开关的原因。

答案2

如果您的时间戳数字以秒为单位,您可以将其添加到2000-01-01T00:00:00.使用 GNU date 就这么简单

date -d "2001-01-01Z +$n seconds"

我已经在Z那里添加了一个,以表明您的纪元是以祖鲁时间 (UTC) 指定的 - 如果您的纪元实际上是当地时间,那么您应该省略它。

相关内容