提问者:小点点

有没有一种方法可以在C++中获得时间和日期,而不使用系统时钟?


这个问题听起来可能很愚蠢,但这是我的例子:我在Jetson Nano(单板机)上有一个C++程序,想要得到当前的时间和日期。然而,在我的应用程序中,我不能总是将网线连接到设备上。虽然在Ubuntu的设置中,我告诉它自动从互联网上获取时间,但当它在较长的一段时间后(当它没有连接电源时)开机时,系统时钟会变得混乱,并且有一个完全错误的时间和日期。这就是我的C++程序(使用std::chrono::system_clock())然后获取的内容。

有没有办法绕开这个问题?不知何故,确实知道系统时间和日期设置不正确,即使设备没有连接到Internet。我能看出来,因为它在尝试编译“检测到时钟偏斜”时会失败。在没有连接到互联网的情况下,如何获得正确的时间和日期?


共1个答案

匿名用户

不知何故,即使设备没有连接到Internet,make也知道系统时间和日期设置不正确。

“恐怕不会。

它只是发现时间自上次检查以来已经倒退了,并知道这并不是时间的自然运作方式。这是猜测。时钟可能现在错了,可能以前错了,也可能两次都错了。

时钟是你获取时间的地方。如果你没有钟,你就没有时间。如果你有一个时钟(就像大多数计算机一样,包括你的计算机),但它是无法追踪的(例如,通过连接到本地时间服务器或互联网上的NTP服务器),你将永远无法信任它。

你有一个无法追踪的时钟,而且已经不可靠了,因为显然没有电池让它长时间保持时间。如果你想知道时间,你至少需要解决其中一个问题,最好是两个问题。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(一种|方法|c++|中|时间|日期|系统|时钟)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?