-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
37 lines (21 loc) · 754 Bytes
/
README
File metadata and controls
37 lines (21 loc) · 754 Bytes
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
Library for handling time in different timezones. Based on Arthur David Olson tzcode.
Usage:
#include <tz.h>
const struct state * sp = tz_alloc("Asia/Yekaterinburg");
struct tm st = {0, 0, 0, 1, 0, 112};
time_t t = timegm(&st);
// {0, 0, 6, 1, 0, 112}
struct tm * bt = tz_localtime(sp, &t);
struct tm st2 = {0, 0, 0, 1, 0, 111, 0, 0, 0};
t = timegm(&st2);
// {0, 0, 5, 1, 0, 111}
bt = tz_localtime(sp, &t);
struct tm st3 = {0, 30, 22, 15, 10, 111};
time_t t = tz_mktime(sp, &st);
// {0, 30, 16, 15, 10, 111}
struct tm * bt = gmtime(&t);
struct tm st4 = {0, 30, 22, 15, 10, 110};
t = tz_mktime(sp, &st4);
// {0, 30, 17, 15, 10, 110}
bt = gmtime(&t);
tz_free(sp);