shell – Unix时间和闰秒

前端之家收集整理的这篇文章主要介绍了shell – Unix时间和闰秒前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于Unix(POSIX)时间, Wikipedia说:

Due to its handling of leap seconds,it is neither a linear representation of time nor a true representation of UTC.

但是Unix date命令实际上似乎并不知道它们

$ date -d '@867715199' --utc
Mon Jun 30 23:59:59 UTC 1997
$ date -d '@867715200' --utc
Tue Jul  1 00:00:00 UTC 1997

虽然应该有一个飞跃第二在那里在Mon Jun 30 23:59:60 UTC 1997。

这是否意味着只有date命令忽略了闰秒,而Unix时间的概念没有?

每天的秒数固定为 Unix timestamps

The Unix time number is zero at the Unix epoch,and increases by
exactly 86400 per day since the epoch.

所以它不能代表闰秒。操作系统将会减慢时间,以适应这一点。到目前为止,Unix时间戳的闰秒根本就不存在。

猜你在找的Bash相关文章