|
|
1.1 root 1:
2:
3: localtime() Time Function localtime()
4:
5:
6:
7:
8: Convert system time to calendar structure
9:
10: #include <time.h>
11: #include <sys/types.h>
12: ttmm *llooccaallttiimmee(_t_i_m_e_p) ttiimmee_tt *_t_i_m_e_p;
13:
14: localtime converts the COHERENT internal time into the form
15: described in the structure tm.
16:
17: timep points to the system time. It is of type time_t, which is
18: defined in the header file ttyyppeess.hh.
19:
20: localtime returns a pointer to the structure tm, which is also
21: defined in ttyyppeess.hh. The function asctime turns tm into an ASCII
22: string.
23:
24: Unlike its cousin gmtime, localtime returns the local time, in-
25: cluding conversion to daylight saving time, if applicable. The
26: daylight saving time flag indicates whether daylight saving time
27: is now in effect, not whether it is in effect during some part of
28: the year. Note, too, that the time zone is set by localtime
29: every time the value returned by
30:
31:
32: getenv("TIMEZONE")
33:
34:
35: changes. See the Lexicon entry for TTIIMMEEZZOONNEE for more information
36: on how COHERENT handles time zone settings.
37:
38: ***** Example *****
39:
40: The following example recreates the function aassccttiimmee. It builds
41: a string somewhat different from that returned by asctime to
42: demonstrate how to manipulate the ttmm structure.
43:
44:
45: #include <time.h>
46: #include <sys/types.h>
47:
48:
49:
50: char *month[] = {
51: "January", "February", "March", "April",
52: "May", "June", "July", "August", "September",
53: "October", "November", "December"
54: };
55:
56:
57:
58:
59:
60:
61:
62:
63:
64: COHERENT Lexicon Page 1
65:
66:
67:
68:
69: localtime() Time Function localtime()
70:
71:
72:
73: char *weekday[] = {
74: "Sunday", "Monday", "Tuesday", "Wednesday",
75: "Thursday", "Friday", "Saturday"
76: };
77:
78:
79:
80: main()
81: {
82: char buf[20];
83: time_t tnum;
84: struct tm *ts;
85: int hour = 0;
86:
87:
88:
89: time(&tnum); /* get time from system */
90:
91: /* convert time to tm struct */
92: ts=localtime(&tnum);
93:
94:
95:
96: if (ts->tm_hour == 0)
97: sprintf(buf,"12:%02d:%02d A.M.",
98: ts->tm_min, ts->tm_sec);
99:
100:
101:
102: else
103: if(ts->tm_hour>=12) {
104: hour=ts->tm_hour-12;
105: if (hour==0)
106: hour=12;
107: sprintf(buf,"%02d:%02d:%02d P.M.",
108: hour, ts->tm_min,ts->tm_sec);
109:
110:
111:
112: } else
113: sprintf(buf,"%02d:%02d:%02d A.M.", ts->tm_hour,
114: ts->tm_min,ts->tm_sec);
115:
116:
117:
118: printf("\n%s %d %s 19%d %s\n",
119: weekday[ts->tm_wday], ts->tm_mday,
120: month[ts->tm_mon], ts->tm_year, buf);
121:
122:
123:
124:
125:
126:
127:
128:
129:
130: COHERENT Lexicon Page 2
131:
132:
133:
134:
135: localtime() Time Function localtime()
136:
137:
138:
139: printf("Today is the %d day of 19%d\n",
140: ts->tm_yday, ts->tm_year);
141:
142:
143:
144: printf("Daylight Saving Time %s in effect\n",
145: ts->tm_isdst ? "is" : "is not");
146: }
147:
148:
149: ***** See Also *****
150:
151: gmtime(), time, TIMEZONE
152:
153: ***** Notes *****
154:
155: localtime returns a pointer to a statically allocated data area
156: that is overwritten by successive calls.
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196: COHERENT Lexicon Page 3
197:
198:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.