Sto usando boost::posix_time::ptime
per misurare il mio tempo di esecuzione della simulazione e qualcos'altro.ottenere boost :: posix_time :: time_duration in secondi
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;
ora
std::cout << to_simple_string(diff) << std::endl;
ritorno l'ora nel formato hh:mm:ss.ssssss
e vorrei avere il tempo così in ss.sssssss
.
per fare questo, ho provato
boost::posix_time::time_duration::sec_type x = diff.total_seconds();
ma che mi ha dato la risposta in formato ss e seconds()
Rendimenti numero normalizzato di secondi (0..60).
La mia domanda, come posso ottenere il tempo di simulazione in secondi del formato ss.ssssss?
EDIT
sono stato in grado di fare:
std::cout << diff.total_seconds() << "." << diff.fractional_seconds() << std::endl;
c'è qualcosa di elegante che potrebbe tracciare ss.sssssss?
grazie per il vostro replay. Secondo il tuo esempio, vorrei il seguente output: 62.0000 (ss.ssssss). Potrebbe essere possibile? – Eagle
@Eagle: ho aggiunto un esempio con l'output desiderato usando 'boost :: format'. Spero che sia d'aiuto. – nabulke