目前我可以通过localtime()
gettimeofday()
time.h
等功能获取当前日期时间
假设用户修改Linux中的日期和时间设置以将日期更改为某个上一个日期,我在调用上述函数时会收到这些更改。
我仍然希望获得当前时间,即今天的时间,无论用户是否更改了系统日期和时间。时间设置。
有什么方法可以实现同样的目标吗?
答案 0 :(得分:8)
答案 1 :(得分:2)
如果具有适当权限的用户更改了系统时间,则系统会相信新值。
因此,唯一能让别人看到正确时间的方法就是走出系统。例如,您可以通过NTP协议连接到时间服务器。
为了获得廉价而愉快的解决方案,您可以获取http://www.whattimeisit.com/等网页。当然,下载的延迟(最好)是不准确的,这是NTP客户巧妙处理的事情之一。
如果您想要的不是“正确”时间,只是在您使用它时不会跳转的时间,那么您可以查看clock_gettime
并特别{{1} }。
答案 2 :(得分:0)
如果它没有与系统时间同步,你可以考虑阅读硬件时钟,看看hwclock man page。
该页面上的备注部分提供了有关如何检查同步的一些信息。