【发布时间】:2014-10-17 15:31:18
【问题描述】:
在 C++ 中:
如何显示系统当前时间(只有时间没有日期)?
如何显示当前时间 + 3 分钟?
我可以使用
cout吗?
使用哪些库或函数?
【问题讨论】:
-
我使用精灵魔法。您的里程可能会有所不同。
-
这看起来像家庭作业
-
这似乎没有进行任何研究。
在 C++ 中:
如何显示系统当前时间(只有时间没有日期)?
如何显示当前时间 + 3 分钟?
我可以使用cout吗?
使用哪些库或函数?
【问题讨论】:
你可以试试这个例子(使用c++11 clang 3.6):
#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>
int main()
{
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
std::time_t now_c = std::chrono::system_clock::to_time_t(now - std::chrono::hours(24));
std::cout << std::put_time(std::localtime(&now_c), "%T") << std::endl;
std::time_t later_c = std::chrono::system_clock::to_time_t(now - std::chrono::hours(24) + std::chrono::minutes(3));
std::cout << std::put_time(std::localtime(&later_c), "%T") << std::endl;
return 0;
}
只需使用std::chrono。
【讨论】:
std::put_time 的支持很差,以至于 GCC 4.9 doesn't have it 和 clang 3.5.0 也不支持。所以除非你正在使用,什么,MSVS(?)这不会有太大帮助。