struct tm _time_2;// 結束時間
memset(&_time_1, 0, sizeof(_time_1));
memset(&_time_2, 0, sizeof(_time_2));
long startTime=20180118123026;
long endTime=20180928125036;
_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秒