7

Is there a way to get notified when there is update to the system time from a time-server or due to DST change? I am after an API/system call or equivalent.

It is part of my effort to optimise generating a value for something similar to SQL NOW() to an hour granularity, without using SQL.

4

3 に答える 3

4

システム時刻の変更を通知する方法があるかどうかはわかりませんが、

  • システム時刻は UTC として保存されるため、DST の変更による変更が通知されることはありません。

  • 私の記憶が正しければ、NTP デーモンは通常、速度を変更して時計を調整しますが、通知される変更はありません。

したがって、通知されるのは、異常な操作が行われた後だけです。

于 2010-02-12T12:18:00.687 に答える
1

clock_gettime最近の Linux システムでは信じられないほど高速で、通常は驚くほど正確です。を使用して精度を調べることができますclock_getres。ただし、時間レベルのタイムスタンプの場合gettimeofdayは、タイムゾーンを調整できるため、より便利な場合があります。

タイムスタンプが必要になるたびに、適切なシステム コールを呼び出して時間単位で割り算するだけです。NTP からの他のすべての時間調整、またはすでに行われているものは何でも。

于 2010-02-12T12:17:40.437 に答える