2009-12-14 9 views

Respuesta

77

Si está utilizando Boost.Date_Time, esto es hecho usando facetas IO.

Es necesario incluir boost/date_time/posix_time/posix_time_io.hpp para obtener los typedefs faceta correctas (wtime_facet, time_facet, etc.) para boost::posix_time::ptime. Una vez hecho esto, el código es bastante simple. Se llama a infundir en el ostream desea dar salida a, a continuación, sólo la salida de su 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; 
} 

Salida:

14-Dec-2009 16:13:14 

Véase también el list of format flags en la documentación a impulsar, en caso de que desee emitir algo criador.

+1

Y http://www.boost.org/doc/libs/1_35_0/doc/html/date_time/date_time_io.html#date_time.format_flags para las banderas de formato. –

+0

Trabajé para mí, gracias! – Alfredo

+4

¿Tomará posesión y eliminará el puntero de faceta? – Arthur

Cuestiones relacionadas