gdb将稳定时钟值转换为实际时间

时间:2019-05-18 01:06:47

标签: c++ c++11

我有一个用于c ++代码的核心文件,该文件在gdb中显示了std :: chrono :: steady_clock :: now()的值,如下所示:

__ d = {__r = 783605893786420}

如何将其转换为UTC?

1 个答案:

答案 0 :(得分:2)

平台上steady_clock的单位为纳秒。

783605893786420ns是自steady_clock时代以来的时间。

783605893786420ns与9天,1小时40分钟和5.893786420秒的时间相同。

因此,对于该时钟,该时间段是在调用steady_clock::now()之前的9天1小时40分钟和5.893786420秒。

将其转换为UTC的唯一方法是,如果您知道UTC与进行此调用之前的9天,1小时,40分钟和5.893786420秒之间的关系。这很可能是您的计算机最后一次启动。如果您有任何机会知道计算机启动的UTC时间,则可以在该时间加上9天,1小时40分钟和5.893786420秒,以将783605893786420转换为UTC。

将来,如果您想发现UTC时间,请改用system_clock