2014-10-17 72 views
-2

在C++:如何显示系统当前时间+ 3分钟?

  • 我怎么能显示系统当前时间(仅适用于不带日期时间)?

  • 如何显示当前时间+ 3分钟?

  • 我可以使用cout吗?

要使用哪些库或函数?

+2

检查['std :: chrono :: system_clock :: now()'](http://en.cppreference.com/w/cpp/chrono/system_clock/now) – 2014-10-17 15:33:57

+3

我使用了精灵魔法。你的旅费可能会改变。 – 2014-10-17 15:38:43

+2

这看起来像功课 – 2014-10-17 15:41:02

回答

1

你可以试试这个例子(使用C++ 11铛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

+2

'std :: put_time'得到很好的支持,[GCC 4.9没有它](http://stackoverflow.com/a/14137287/560648),而且铿锵声3.5.0也不支持。所以,除非你使用,什么,MSVS(?)这不会太有用。 – 2014-10-17 15:48:18

+1

@LightnessRacesinOrbit嗯,至少它在[本参考](http://en.cppreference.com/w/cpp/io/manip/put_time)中被描述为标准函数。 – 2014-10-17 15:50:44

+2

@πάνταῥεῖ是的,它是一个C++ 11特征。我只是说它得不到支持,我坚持这一声明。 cppreference.com对于标准的字母是准确的,我认为这很有帮助,如果你想以cppreference.com贡献者的身份开始职业生涯......但对于所有其他C++的使用而言,并不是那么重要。 – 2014-10-17 15:51:51