I need to format my ptime in such way Wed, 21 Jan 2004 19:51:30 GMT
How to do such thing with boost? (so it would look like data format of HTTP servers Expires
and Last-Modified
and Date
response headers )
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
#include <locale>
#include <string>
#include <iostream>
#include <sstream>
#include <boost/date_time/posix_time/posix_time.hpp>
std::string current_time_formatted()
{
namespace bpt = boost::posix_time;
static char const* const fmt = "%a, %d %b %Y %H:%M:%S GMT";
std::ostringstream ss;
// assumes std::cout's locale has been set appropriately for the entire app
ss.imbue(std::locale(std::cout.getloc(), new bpt::time_facet(fmt)));
ss << bpt::second_clock::universal_time();
return ss.str();
}
See Date Time Input/Output for more information on the available format flags.