Si vous utilisez Boost.Date_Time Cette opération est réalisée à l'aide des facettes IO.
Vous devez inclure boost/date_time/posix_time/posix_time_io.hpp
pour obtenir les typologies de facettes correctes ( wtime_facet
, time_facet
etc.) pour boost::posix_time::ptime
. Une fois que c'est fait, le code est assez simple. Vous appelez imbue sur l'objet ostream
vers lequel vous voulez sortir, alors sortez simplement votre ptime
:
#include <iostream>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/posix_time/posix_time_io.hpp>
using namespace boost::posix_time;
using namespace std;
int main(int argc, char **argv) {
time_facet *facet = new time_facet("%d-%b-%Y %H:%M:%S");
cout.imbue(locale(cout.getloc(), facet));
cout << second_clock::local_time() << endl;
}
Sortie :
14-Dec-2009 16:13:14
Voir aussi le liste des drapeaux de format dans la documentation de boost, au cas où vous voudriez produire quelque chose de plus sophistiqué.