String representation of time_t?(time_t 的字符串表示?)
问题描述
time_t seconds;
time(&seconds);
cout << seconds << endl;
这给了我一个时间戳.如何将该纪元日期转换为字符串?
This gives me a timestamp. How can I get that epoch date into a string?
std::string s = seconds;
没用
推荐答案
试试 std::stringstream
.
#include <string>
#include <sstream>
std::stringstream ss;
ss << seconds;
std::string ts = ss.str();
Boost 的 是上述技术的一个很好的包装lexical_cast
:
A nice wrapper around the above technique is Boost's lexical_cast
:
#include <boost/lexical_cast.hpp>
#include <string>
std::string ts = boost::lexical_cast<std::string>(seconds);
对于这样的问题,我喜欢链接 庄园农场的字符串格式化程序 赫伯·萨特.
And for questions like this, I'm fond of linking The String Formatters of Manor Farm by Herb Sutter.
更新:
对于 C++11,使用 to_string()
.
With C++11, use to_string()
.
这篇关于time_t 的字符串表示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!