如何使用std :: chrono调用本地时间和本地时间加上X小时

时间:2017-02-19 05:01:35

标签: c++ datetime

我一直在寻找一种使用当地时间用C ++计算未来日历日期的方法,但到目前为止还没有骰子。

基本上我想添加3天(标准交付)或添加一天(隔夜交付)到CURRENT时间(以MM-DD-YYYY格式打印并由计算机检索)。我如何在C ++中简单地[无需算法]这样做?

输出看起来像这样:

import 'reflect-metadata'

1 个答案:

答案 0 :(得分:2)

这是如何在不到8行代码中完成的。使用小时数指定您希望将来的确切时间。格式化非常粗暴,像C一样没有吸引力。不要忘记指定每个“现在”...加急不同于常规运费!

chrono::system_clock::time_point now = chrono::system_clock::now();
time_t now_c = chrono::system_clock::to_time_t(now + chrono::hours(24));
cout << "Overnight Shipping Expected Arrival Date: " << put_time(localtime(&now_c), "%F") << '\n';

chrono::system_clock::time_point now2 = chrono::system_clock::now();
time_t now2_c = chrono::system_clock::to_time_t(now2 + chrono::hours(72));
cout << "Standard Shipping Expected Arrival Date: " << put_time(localtime(&now2_c), "%F") << '\n';