Estoy usando boost::posix_time::ptime
para medir el tiempo de ejecución de mi simulación y para otra cosa.get boost :: posix_time :: time_duration en segundos
assuimg
boost::posix_time::ptime start, stop;
boost::posix_time::time_duration diff;
start = boost::posix_time::microsec_clock::local_time();
sleep(5);
stop = boost::posix_time::microsec_clock::local_time();
diff = stop - stop;
ahora
std::cout << to_simple_string(diff) << std::endl;
retorno el momento en hh:mm:ss.ssssss
formato y me gustaría tener el tiempo, así como en ss.sssssss
.
para hacer esto, he intentado
boost::posix_time::time_duration::sec_type x = diff.total_seconds();
pero eso me dio la respuesta en formato de SS y seconds()
devuelto Devuelve el número de segundos normalizado (0..60).
Mi pregunta, ¿cómo puedo obtener mi tiempo de simulación en segundos del formato ss.ssssss?
EDITAR
yo era capaz de hacer:
std::cout << diff.total_seconds() << "." << diff.fractional_seconds() << std::endl;
¿hay algo elegante que podría trazar ss.sssssss?
gracias por su repetición. De acuerdo con su ejemplo, me gustaría obtener la siguiente salida: 62.0000 (ss.ssssss). ¿Seria posible? – Eagle
@Eagle: Agregué un ejemplo con su salida deseada usando 'boost :: format'. Espero eso ayude. – nabulke