blob: f5af03ea430a967cdb9e98ca04905ad31846aba9 (
plain)
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
|
#include <time.h>
#include <stdio.h>
#include <assert.h>
int main() {
struct tm soon = {};
soon.tm_sec = 0;
soon.tm_min = 0;
soon.tm_hour = 0;
soon.tm_mday = 1;
soon.tm_mon = 0;
soon.tm_year = 70;
time_t result;
time_t expected_result = 0;
// This should be epoch.
result = timegm(&soon);
printf("epoch: %ld\n", result);
assert(result == expected_result);
soon.tm_sec = 12;
soon.tm_min = 8;
soon.tm_hour = 16;
soon.tm_mday = 17;
soon.tm_mon = 4;
soon.tm_year = 122;
expected_result = 1652803692;
result = timegm(&soon);
// On my host, this returned 1652803692, verify this.
printf("epoch: %ld\n", result);
assert(result == expected_result);
soon.tm_sec = 45;
soon.tm_min = 42;
soon.tm_hour = 17;
soon.tm_mday = 16;
soon.tm_mon = 8;
soon.tm_year = 69;
expected_result = -9181035;
result = timegm(&soon);
// On my host, this returned -9181035, verify this.
printf("epoch: %ld\n", result);
assert(result == expected_result);
return 0;
}
|