c++11 输出时间
C++11中输出当前时间最直接的方法:
std::time_t t2 = std::time(nullptr); cout << std::put_time(std::localtime(&t), "%Y-%m-%d %H.%M.%S") << "." << msecs << endl;
这种方法可以输出年月日时分秒,不过却不能输出毫秒,如果要输出毫秒需要用下面的方法:
auto n = chrono::system_clock::now(); auto m = n.time_since_epoch(); auto diff = duration_cast<milliseconds>(ms).count(); auto const msecs = diff % 1000; std::time_t t = system_clock::to_time_t(n1); cout << std::put_time(std::localtime(&t), "%Y-%m-%d %H.%M.%S") << "." << msecs << endl;
将绝对时间转换为标准时间字符串的方法:
#include <string> #include <chrono> #include <cinttypes> #include <ctime> #include <sstream> #include <iomanip> std::string millisecond_to_str(std::int64_t milliseconds) { std::chrono::milliseconds ms(milliseconds); std::chrono::time_point<std::chrono::high_resolution_clock, std::chrono::milliseconds> t1(ms); std::time_t t = std::chrono::system_clock::to_time_t(t1); std::stringstream ss; auto const msecs = ms.count() % 1000; ss << std::put_time(std::localtime(&t), "%Y-%m-%d %H.%M.%S") << "." << msecs; return ss.str(); }
一点梦想:尽自己一份力,让c++的世界变得更美好!
posted on 2015-09-09 18:50 qicosmos(江南) 阅读(9065) 评论(2) 编辑 收藏 举报