我在文档中没有找到这个:如何使用boost获取本地时间(更好的格式化)?
答案 0 :(得分:20)
使用posix_time从系统时钟构造时间对象。
例如,这会将当前系统时间输出为ISO格式字符串:
namespace pt = boost::posix_time;
pt::to_iso_string(pt::second_clock::local_time());
有关格式替代方案,请参阅上述链接参考的“转换为字符串”部分和Date Time Input/Output参考。或者,您可以使用访问器函数构建自己的输出字符串。例如,要获得美式日期:
namespace pt = boost::posix_time;
pt::ptime now = pt::second_clock::local_time();
std::stringstream ss;
ss << static_cast<int>(now.date().month()) << "/" << now.date().day()
<< "/" << now.date().year();
std::cout << ss.str() << std::endl;
请注意,月份会转换为int
,因此会显示为数字。默认输出facet将显示为三个月的缩写(3月的“Mar”)。
答案 1 :(得分:0)
使用日期时间输入/输出API:
http://www.boost.org/doc/libs/1_42_0/doc/html/date_time/date_time_io.html#date_time.io_objects
答案 2 :(得分:0)
我不知道这是否有任何帮助,但提升文档有一些examples的格式化日期。
另外,我认为this article描述了一些值得关注的基础知识。