Существует ли путь, который будет уведомлен, когда существует обновление системного времени от сервера времени или из-за изменения DST? Я после API/системного вызова или эквивалентен.
Это - часть моего усилия оптимизировать генерацию значения для чего-то подобного SQL ТЕПЕРЬ () к гранулярности часа, не используя SQL.
Я не знаю, есть ли способ получить уведомление об изменении системного времени, но
Системное время хранится в формате UTC, поэтому уведомления о переходе на летнее время никогда не происходят.
Если моя память верна, NTP deamon обычно регулирует часы, изменяя их скорость, и опять же, никаких изменений не требуется.
Таким образом, вы будете уведомлены только о необычных манипуляциях.
clock_gettime
в большинстве последних Linux-систем невероятно быстр и, как правило, удивительно точен; точность можно узнать с помощью clock_getres
. Но для часовых меток времени gettimeofday
может быть более удобным, поскольку он может выполнить корректировку часового пояса за вас.
Просто вызовите соответствующий системный вызов и выполняйте деление на часы каждый раз, когда вам нужна метка времени; все остальные корректировки времени от NTP или чего-либо еще уже будут сделаны за вас.