/*my little lab:*/
#include <sys/types.h>
#include <stdio.h
#include <time.h>
#include <unistd.h>
int main(void)
{
time_t etime_t, now_t;
struct tm timev_n;
struct tm timev_e;
struct tm *ptimev_n = &timev_n;
struct tm *ptimev_e = &timev_e;
double time_diff;
now_t= 1388525484L;
etime_t= 1389338644L;
ptimev_n= gmtime_r(&now_t, ptimev_n );
ptimev_e= gmtime_r(&etime_t, ptimev_e );
printf (" now: %s \n", asctime(ptimev_n));
printf (" end: %s \n", asctime(ptimev_e));
// time_diff=difftime(now_t,etime_t);
time_diff=difftime(etime_t, now_t);
printf("%f \n",time_diff);
etime_t = (time_t) time_diff;
ptimev_e= gmtime_r(&etime_t, ptimev_e );
printf ("back to the 70's diff: %s \n", asctime(ptimev_e));
return 1;
}
给出输出:
" 现在:2013 年 12 月 31 日星期二 21:31:24
结束:2014年1月10日星期五07:24:04
813160.000000 回到 70 年代的差异:1970 年 1 月 10 日星期六 09:52:40 “请检查参数的顺序到 difftime,也许你的系统有 unsigned time_t ?