2011-11-16 55 views
1

我想測量一些東西的持續時間。 當它開始時,我調用start_time = time(NULL); 何時結束:入學時間

time_t a_time = time(NULL) - start_time; 
struct tm * ts = localtime(&a_time); 
char time_buff[32]; 
memset (time_buff,0,32); 
sprintf (time_buff, "Duration: %02d:%02d:%02d", ts->tm_hour, ts->tm_min, ts->tm_sec); 

的問題是,TS-> tm_hour始終是2

請指教。 謝謝, Nahum

回答

1

你是否最終生活在距離UTC時間2小時的國家?

通過致電gmtime()將您的電話替換爲localtime()(位於當前時區)。

2

函數localtime將時間轉換爲完整的日期和時間。您最好通過分區和模塊化操作將它轉換爲天,小時和分鐘。

1

爲什麼不使用返回經過的毫秒量(clock或gettimeofday)的函數,然後轉換爲小時/分鐘/秒?