当时间服务器更新系统时间或由于夏令时更改时,有没有办法收到通知?我正在执行 API/系统调用或同等功能。

我的部分工作是在不使用 SQL 的情况下,将类似于 SQL NOW() 的值的生成优化到小时粒度。

有帮助吗?

解决方案

在最近的Linux系统clock_gettime是令人难以置信的快速的,通常相当令人惊讶的精确以及;你可以使用clock_getres找出精度。但小时级别的时间戳,gettimeofday可能会更方便,因为它可以为你做的时区调整。

简单地调用适当的系统调用和执行划分小时每次需要时间戳的时间;所有来自NTP其他的时间调整或任何会已经已经为您做了。

其他提示

我不知道是否有办法通知系统时间的变化,但是

  • 系统时间存储为 UTC,因此永远不会因 DST 更改而发生更改而被通知。

  • 如果我没记错的话,NTP 守护进程通常通过改变时钟速度来调整时钟,同样没有通知任何变化。

因此,只有在发生不常见的操作之后,您才会收到通知。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top