1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| static int compare_date(char* date)
{
int res = 0;
struct tm tm;
time_t time_value, now;
double diff_t;
char buff[MIN_SIZE];
int a, m, j, h, min, s;
sscanf(date, "%d-%d-%d %d:%d:%d", &a, &m, &j, &h, &min, &s);
printf("compare_date : %d-%d-%d %d:%d:%d \n", a, m, j, h, min, s);
tm.tm_year = a;
tm.tm_mon = m;
tm.tm_mday = j;
tm.tm_hour = h;
tm.tm_min = min;
tm.tm_sec = s;
tm.tm_isdst = -1;
time_value = mktime(&tm); //mktime retourne -1
now = time(NULL);
printf("time_value : %f \n", (double) time_value);
printf("now : %f \n", (double) now);
diff_t = difftime(now, time_value);
printf("compare_date diff_t : %f \n", diff_t);
double time_refresh = MAX_DAY_REFRESH * 24 * 60 *60; //convertion en seconde
if(time_refresh > diff_t)
{
res = 0;
}
else
{
res = 1;
}
return res;
} |
Partager