C++ 如何在C+中设置std::chrono::staid#u时钟的历元+;?

C++ 如何在C+中设置std::chrono::staid#u时钟的历元+;?,c++,datetime,C++,Datetime,我想获取自特定纪元(如2016年1月1日)以来的当前时间(以毫秒为单位) 这样做的原因是为了避免对std::chrono::毫秒使用8字节。 我想将结果存储在一个4字节的数据类型中 std::chrono::Stadium_clock()使用未指定的默认历元 以下是您如何按照作者评论中的建议创建自己的时钟 这是13.97天 您可以使用以下代码计算时钟的范围: using namespace date; using namespace std::chrono; auto min = millise

我想获取自特定纪元(如2016年1月1日)以来的当前时间(以毫秒为单位)

这样做的原因是为了避免对std::chrono::毫秒使用8字节。
我想将结果存储在一个4字节的数据类型中


std::chrono::Stadium_clock()使用未指定的默认历元

以下是您如何按照作者评论中的建议创建自己的时钟

这是13.97天

您可以使用以下代码计算时钟的范围:

using namespace date;
using namespace std::chrono;
auto min = milliseconds{myclock::duration::min()} + sys_days{jan/1/2016};
auto max = milliseconds{myclock::duration::max()} + sys_days{jan/1/2016};
std::cout << min << '\n';
std::cout << max << '\n';

所以最好快点<代码>我的时钟将在10天后溢出。:-)

相关:我建议您为此制作自己的时钟类,它从
now
a
time\u点返回
1207186990
using namespace date;
using namespace std::chrono;
auto min = milliseconds{myclock::duration::min()} + sys_days{jan/1/2016};
auto max = milliseconds{myclock::duration::max()} + sys_days{jan/1/2016};
std::cout << min << '\n';
std::cout << max << '\n';
2015-12-07 03:28:36.352
2016-01-25 20:31:23.647