Wenn Sie Boost.Date_Time verwenden, das ist getan mit IO-Facetten.
Sie müssen boost/date_time/posix_time/posix_time_io.hpp
enthalten die richtigen Facette typedefs zu erhalten (wtime_facet
, time_facet
, etc.) für boost::posix_time::ptime
. Sobald dies erledigt ist, ist der Code ziemlich einfach. Sie durchtränken rufen die ostream
Sie ausgeben wollen, dann nur Ausgang Ihre 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;
}
Ausgang:
14-Dec-2009 16:13:14
Siehe auch die list of format flags in den Boost-docs, falls Sie für die Ausgabe zu wollen Liebhaber.
Und http://www.boost.org/doc/libs/1_35_0/doc/html/date_time/date_time_io.html#date_time.format_flags für die Formatflags. –
Ich arbeitete für mich, danke! – Alfredo
Wird cout Besitz übernehmen und den Facettenzeiger löschen? – Arthur