2010-03-22 14 views
12

No encontré esto en la documentación: ¿cómo obtener la hora local (mejor formateada) con boost?obtener hora local con boost

+2

¿mejor formateado que qué? – jalf

+0

Quiero decir que quiero formatear los datos de salida. – Ockonal

Respuesta

17

Utilice posix_time para construir un objeto de tiempo desde el reloj del sistema.

Por ejemplo, esto sería salida la hora actual del sistema como una cadena ISO-formato:

namespace pt = boost::posix_time; 
pt::to_iso_string(pt::second_clock::local_time()); 

Para formatear alternativas, véase la sección “La conversión a String” de la referencia anteriormente ligado y la referencia Date Time Input/Output . Alternativamente, puede construir su propia cadena de salida utilizando las funciones de acceso. Por ejemplo, para obtener una fecha al estilo estadounidense:

namespace pt = boost::posix_time; 
pt::ptime now = pt::second_clock::local_time(); 
std::stringstream ss; 
ss << static_cast<int>(now.date().month()) << "/" << now.date().day() 
    << "/" << now.date().year(); 
std::cout << ss.str() << std::endl; 

Nota del mes se lanza a int por lo que se mostrará en forma de dígitos. La faceta de salida predeterminada lo mostrará como la abreviatura de tres letras del mes ("Mar" para marzo).

+1

Nota: El include requerido para esto es: '' boost/date_time/posix_time/posix_time.hpp'' (me encontré con esto antes) –

0

no sé si esto va a ser de alguna ayuda, pero docs impulsar tener algún examples de fechas de formato.

Además, creo que this article describe algunos conceptos básicos, que vale la pena mirar.

Cuestiones relacionadas