c++計算兩個時間之間的時間間隔

        struct tm _time_1;// 開始時間
struct tm _time_2;// 結束時間
memset(&_time_1, 0, sizeof(_time_1));

memset(&_time_2, 0, sizeof(_time_2));

        long startTime=20180118123026;

        long endTime=20180928125036;

// 現在的日期  c++時間是從1900年1月1日開始
_time_1.tm_year = startTime / (10000000000)-1900;
_time_1.tm_mon = startTime/ (100000000) % 100-1;
_time_1.tm_mday = startTime/ (1000000) % 100-1;
_time_1.tm_hour =startTime / (10000) % 100;
_time_1.tm_min = startTime / (100) % 100;
_time_1.tm_sec =startTime % 100;
// 結束時間
_time_2.tm_year =endTime/ (10000000000)-1900;
_time_2.tm_mon =endTime / (100000000) % 100-1;
_time_2.tm_mday =endTime / (1000000) % 100-1;
_time_2.tm_hour = endTime / (10000) % 100;
_time_2.tm_min =endTime / (100) % 100;
_time_2.tm_sec = endTime % 100;

time_t time_1 = mktime(&_time_1);
time_t time_2 = mktime(&_time_2);

long remainSec = difftime(time_2,time_1);// 計算時間間隔的秒

         // 將秒轉成天,小時,分,秒

int days = (remainSec / (60 * 60 * 24));
int hours = (remainSec / (60 * 60) - days * 24);
int minutes = (remainSec / 60 - hours * 60 - days * 24 * 60);

int seconds = (remainSec - minutes * 60 - hours * 60 * 60 - days * 24 * 60 * 60);

         days ,hours ,minutes ,seconds 這些就是兩個時間之間相差n天n小時n分鐘n秒

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章