#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();
}
См. Дата и время ввода / вывода для получения дополнительной информации о доступных флагах формата.