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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#include <stdio.h>
#include <time.h>
int main (void)
{
struct tm dh1 =
{0};
struct tm dh2 =
{0};
dh1.tm_hour = 7;
dh1.tm_min = 30;
dh1.tm_mday = 1;
dh1.tm_mon = 1 - 1;
dh1.tm_year = 1970 - 1900;
dh2.tm_hour = 12;
dh2.tm_min = 25;
dh2.tm_mday = 1;
dh2.tm_mon = 1 - 1;
dh2.tm_year = 1970 - 1900;
{
time_t t1 = mktime (&dh1);
if (t1 != (time_t) - 1)
{
}
else
{
puts ("t1 error");
}
time_t t2 = mktime (&dh2);
if (t1 != (time_t) - 1)
{
}
else
{
puts ("t2 error");
}
{
char s[32];
#define FMT "%d-%m-%Y %H:%M:%S"
strftime (s, sizeof s, FMT, &dh1);
printf ("%s (t1 = %ld)\n", s, (long) t1);
strftime (s, sizeof s, FMT, &dh2);
printf ("%s (t2 = %ld)\n", s, (long) t2);
}
{
double secs = difftime (t2, t1);
ldiv_t h = ldiv ((long) secs, 3600);
ldiv_t m = ldiv (h.rem, 60);
printf ("%.0f sec, soit %02u:%02u:%02u\n"
,secs
,(unsigned) h.quot
,(unsigned) m.quot
,(unsigned) m.rem);
}
}
return 0;
} |
Partager