2

在开发一个将带有时间戳的传入事件写入文件的模块时,我遇到了一个问题,我在 www.www 上找不到任何信息。希望你们中的一些人可以帮助我:

部分代码:

boost::posix_time::ptime micro_time = boost::posix_time::microsec_clock::local_time();
std::cout << "micro time: " << micro_time  << std::endl;

boost::posix_time::ptime utc_time(boost::posix_time::second_clock::universal_time());
std::cout << "utc time: " << utc_time << std::endl;

它工作得很好,但是两个时间戳之间存在 1 秒的不匹配。这 4 个事件紧随其后发生,但事件 3 出现了问题。但就在它之后,一切又好了。

1. event (good):  
micro time: 2012-May-11 13:13:32.002949  
utc time:   2012-May-11 11:13:32.003069

2. event (good):  
micro time: 2012-May-11 13:13:32.003600  
utc time:   2012-May-11 11:13:32.003716  

3. event (bad):   
micro time: 2012-May-11 13:13:32.004241  
utc time:   2012-May-11 11:13:33.004411  

4. event (good again):  
micro time: 2012-May-11 13:13:32.004943  
utc time:   2012-May-11 11:13:32.005073

我正在使用 32 位 Kubuntu 并提升库 1.46。有没有人对可能导致不匹配的原因有任何想法?

4

0 回答 0