如果我正在查看 debian 日志文件,并且在日志中发现 Jan 1st 1970 08:21:34,那么该操作是否发生在 08:21:34,只是尚未设置正确的日期?或者如果没有设定日期,时间也是错误的吗?有什么办法可以验证吗?
我的最终目标是确定我的安装花了多长时间,但我日志中的第一个记录是 1970 年......
答案1
如果您不知道时间戳是被记录为 UTC 还是在您当地的时区,则您不能真正依赖时间戳的绝对值,并且如果您不知道何时/如何记录,则根本不能真正依赖它/如果时钟被重置。
(完全重置时钟将使您回到 01/01/1970 00:00世界标准时间.)
另一方面,第一个和最后一个记录之间的时间差应该是可靠的(如果你不关心秒精度 - PC 上的时钟对于准确的时间计算通常很糟糕,并且根据你没有的日期来判断)还没有ntp
运行)。
如果您的记录在某个时刻从 70 年代跳到现代,请计算“旧”时间戳的时间差,然后计算“新”时间戳的时间差。间隙应该与正确设置时钟所花费的时间相对应,这并不是太多的挂钟时间。
答案2
时间和日期仅对人类来说是分开的。系统仅保留秒数,并除以 86400 以便显示。
如果看到 Jan 1st 1970 08:21:34,时区是 UTC,则说明机器在 8 小时 20 多分钟前在无外部时间源的情况下冷启动。该日期很可能位于其他时区;例如,在日本 (JST),此日期表示机器在 20 分钟前启动。
无论如何,显示的时间并不代表实际时间,正如日期并不代表真实日期一样。除非你恰好在午夜启动。
如果您的计算机缺少在断电时保持时间的硬件时钟,并且具有网络连接,请使用以下ntpdate
方式检索时间NTP。