大家好我已经创建了一个C++应用程序,其中包括使用std :: chrono来计算时间差。
在某些时候,我上传一个文件到服务器,作为响应,我从receive.php获得一个纪元时间戳,告知关于文件完全上传到服务器的时间戳。我想计算一下这个纪元时间戳和我选择的起点之间的时差,因为我不应该改变这个receive.php工作方式。 到目前为止,我尝试用下面的代码来实现这一目标:如何找到历元时间戳和std :: chrono :: system_clock :: now之间的时间差(以毫秒为单位)
#include <iostream>
#include <chrono>
using namespace std;
int main()
{
auto epoch1 = std::chrono::system_clock::now().time_since_epoch() ;
auto epoch2= std::chrono::duration<long long>(epoch_time_stamp);
auto diff = epoch1 - epoch2 ;
auto s = std::chrono::duration_cast<std::chrono::milliseconds>(diff);
cout << s.count() << endl;
}
凡epoch_time_stamp是13位时代的时间戳e.x 1501190040123.
但是我得到错误的结果。我尝试将epoch_time_stamp同时作为int64_t和time_t传递,但没有成功。由于我在使用std :: chrono方面颇为新颖,因此我认为epoch2的投射不正确。
任何想法我该怎么办?