c++ - now - ¿Cómo formatear el objeto de fecha y hora con el formato dd/mm/aaaa?
format date angular 4 (1)
¿Cómo podría imprimir la fecha actual, usando las bibliotecas de Boost , en el formato dd / mm / aaaa H?
Lo que tengo:
boost::posix_time::ptime now = boost::posix_time::second_clock::local_time();
cout << boost::posix_time::to_simple_string(now).c_str();
2009-Dec-14 23:31:40
Pero yo quiero:
14-dic-2009 23:31:40
Si usa Boost.Date_Time , esto se hace usando facetas IO.
Necesita incluir boost/date_time/posix_time/posix_time_io.hpp
para obtener la faceta correcta wtime_facet
( wtime_facet
, time_facet
, etc.) para boost::posix_time::ptime
. Una vez hecho esto, el código es bastante simple. ostream
a ostream
en el ostream
que quieres enviar la salida, y luego solo emite tu 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
Consulte también la lista de banderas de formato en los documentos de impulso, en caso de que desee generar algo más elegante.