将日期值分配给字符串(boost c ++ libraries,posix time)

时间:2013-11-29 18:47:30

标签: c++ boost posix

我知道如何使用boost posix_time库输出当前日期:

   time_facet *format = new time_facet("%Y-%m-%d");
   cout.imbue(locale(cout.getloc(), format));
   cout << second_clock::local_time() << endl;

但我不知道如何将它分配给字符串。我想问你,如果你知道怎么做,也问你,这行是什么意思cout.imbue?

1 个答案:

答案 0 :(得分:4)

您可以使用字符串流。

std::ostringstream oss;

time_facet *format = new time_facet("%Y-%m-%d");
oss.imbue(locale(cout.getloc(), format));
oss << second_clock::local_time();

std::string datetext = oss.str();

考虑保持充满活力的流来提高效率。使用

oss.clear();
oss.str(""); 

重复使用它。