我需要转换 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) 指定的 - 如果您的纪元实际上是当地时间,那么您应该省略它。