我一直在寻找一种使用本地时间在 C++ 中计算 future 日历日期的方法,但到目前为止还没有成功。
基本上我想在当前时间(以 MM-DD-YYYY 格式打印并由计算机检索)中添加 3 天(对于标准交付)或添加一天(对于隔夜交付)。如何在 C++ 中 [无需算法] 简单地做到这一点?
输出看起来像这样:
Would you like overnight delivery [Y/N]? Y
Today's Date: 03-25-2017
Your Expected Arrival Date: 03-26-2017
Would you like overnight delivery [N/Y]? N
Today's Date: 03-25-2017
Your Expected Arrival Date: 03-28-2017
以下是如何用不到 8 行代码完成此操作。使用 hours 指定您 future 想去的确切时间量。格式非常粗俗,像 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';