1
|
1
|
|
2 /**
|
|
3 * C's <time.h>
|
|
4 * Authors: Walter Bright, Digital Mars, www.digitalmars.com
|
|
5 * License: Public Domain
|
|
6 * Macros:
|
|
7 * WIKI=Phobos/StdCTime
|
|
8 */
|
|
9
|
|
10 module std.c.time;
|
|
11
|
|
12 private import std.c.stddef;
|
|
13
|
|
14 extern (C):
|
|
15
|
|
16 alias int clock_t;
|
|
17
|
|
18 version (Windows)
|
|
19 { const clock_t CLOCKS_PER_SEC = 1000;
|
|
20 }
|
|
21 else version (linux)
|
|
22 { const clock_t CLOCKS_PER_SEC = 1000000;
|
|
23 }
|
|
24 else version (darwin)
|
|
25 {
|
|
26 const clock_t CLOCKS_PER_SEC = 100;
|
|
27 }
|
|
28 else
|
|
29 {
|
|
30 static assert(0);
|
|
31 }
|
|
32
|
|
33 version (Windows)
|
|
34 {
|
|
35 const clock_t CLK_TCK = 1000;
|
|
36 }
|
|
37 else version (linux)
|
|
38 {
|
|
39 extern (C) int sysconf(int);
|
|
40 extern clock_t CLK_TCK;
|
|
41 /*static this()
|
|
42 {
|
|
43 CLK_TCK = cast(clock_t) sysconf(2);
|
|
44 }*/
|
|
45 }
|
|
46 else
|
|
47 {
|
|
48 static assert(0);
|
|
49 }
|
|
50
|
|
51 const uint TIMEOFFSET = 315558000;
|
|
52
|
|
53 alias int time_t;
|
|
54
|
|
55 extern int daylight;
|
|
56 extern int timezone;
|
|
57 extern int altzone;
|
|
58 extern char *tzname[2];
|
|
59
|
|
60 struct tm
|
|
61 { int tm_sec,
|
|
62 tm_min,
|
|
63 tm_hour,
|
|
64 tm_mday,
|
|
65 tm_mon,
|
|
66 tm_year,
|
|
67 tm_wday,
|
|
68 tm_yday,
|
|
69 tm_isdst;
|
|
70 }
|
|
71
|
|
72 clock_t clock();
|
|
73 time_t time(time_t *);
|
|
74 time_t mktime(tm *);
|
|
75 char *asctime(tm *);
|
|
76 char *ctime(time_t *);
|
|
77 tm *localtime(time_t *);
|
|
78 tm *gmtime(time_t *);
|
|
79 size_t strftime(char *, size_t, char *, tm *);
|
|
80 char *_strdate(char *dstring);
|
|
81 char *_strtime(char *timestr);
|
|
82 double difftime(time_t t1, time_t t2);
|
|
83 void _tzset();
|
|
84 void tzset();
|
|
85
|
|
86 void sleep(time_t);
|
|
87 void usleep(uint);
|
|
88 void msleep(uint);
|
|
89
|
|
90 wchar_t *_wasctime(tm *);
|
|
91 wchar_t *_wctime(time_t *);
|
|
92 size_t wcsftime(wchar_t *, size_t, wchar_t *, tm *);
|
|
93 wchar_t *_wstrdate(wchar_t *);
|
|
94 wchar_t *_wstrtime(wchar_t *);
|