1 /* ---------- */
2 /* najitime.c */
3 /* ---------- */
4
5 /* naji date and time functions */
6
7 /* this .c file is a part */
8 /* of libnaji version 0.6.4 */
9
10 /* libnaji is based on */
11 /* the original najitool */
12
13 /* both najitool and libnaji */
14 /* are public domain and are */
15 /* made by the same author */
16 /* please read license.txt */
17
18 /* made by NECDET COKYAZICI */
19
20 #include "libnaji.h"
21
22
23 /* Begin: System Date/Time Variables */
24
25 time_t time_value;
26 struct tm *date_time;
27 char naji_buffer[512];
28
29 /* End: System Date/Time Variables */
30
31
32
33
34
35
36
37
38 /* Begin: English Date/Time Variables */
39
40
41 char *days[7] = {
42 "Sunday",
43 "Monday",
44 "Tuseday",
45 "Wednesday",
46 "Thursday",
47 "Friday",
48 "Saturday",
49 };
50
51
52 char *months[12] = {
53 "January",
54 "February",
55 "March",
56 "April",
57 "May",
58 "June",
59 "July",
60 "August",
61 "September",
62 "October",
63 "November",
64 "December"
65 };
66
67
68 /* End: English Date/Time Variables */
69
70
71
72
73
74
75
76
77 /* Begin: Turkish Date/Time Variables */
78
79
80 /* days */
81 char *gunler[7] = {
82 "Pazar",
83 "Pazartesi",
84 "Sali",
85 "Carsamba",
86 "Persembe",
87 "Cuma",
88 "Cumartesi"
89 };
90
91 /* months */
92 char *aylar[12] = {
93 "Ocak",
94 "Subat",
95 "Mart",
96 "Nisan",
97 "Mayis",
98 "Haziran",
99 "Temmuz",
100 "Agustos",
101 "Eylul",
102 "Ekim",
103 "Kasim",
104 "Aralik"
105 };
106
107
108 /* End: Turkish Date/Time Variables */
109
110
111
112
113
114
115
116
117 /* Begin: System Date/Time Functions */
118
119
get_datetime()120 void get_datetime()
121 {
122 time(&time_value);
123 date_time = localtime(&time_value);
124 }
125
126
s_systemdt()127 char * s_systemdt()
128 {
129 get_datetime();
130
131 sprintf(naji_buffer, "%s", asctime(date_time));
132
133 return naji_buffer;
134 }
135
136
systemdt()137 void systemdt()
138 {
139 printf("\n\nCurrent System Date and Time: %s\n\n", s_systemdt());
140 }
141
142
143 /* End: System Date/Time Functions */
144
145
146 /* Begin: English Date/Time Functions */
147
148
telltime()149 void telltime()
150 {
151 get_datetime();
152
153 printf("%02i", date_time->tm_hour);
154 putchar(':');
155 printf("%02i", date_time->tm_min);
156 putchar(':');
157 printf("%02i", date_time->tm_sec);
158
159 }
160
161
s_today()162 char * s_today()
163 {
164 int i;
165
166 get_datetime();
167
168 for (i=0; i<=6; i++)
169 if (date_time->tm_wday == i)
170 return (days[i]);
171
172 return ("(DAY ERROR)");
173 }
174
175
s_month()176 char * s_month()
177 {
178 int i;
179
180 get_datetime();
181
182 for (i=0; i<=11; i++)
183 if (date_time->tm_mon == i)
184 return (months[i]);
185
186 return ("(MONTH ERROR)");
187 }
188
189
today()190 void today()
191 {
192 printf("%s", s_today());
193 }
194
195
month()196 void month()
197 {
198 printf("%s", s_month());
199 }
200
201
s_dayofmon()202 char * s_dayofmon()
203 {
204
205 get_datetime();
206
207 sprintf(naji_buffer, "%i", date_time->tm_mday);
208
209 return naji_buffer;
210 }
211
212
dayofmon()213 void dayofmon()
214 {
215 printf("%s", s_dayofmon());
216 }
217
218
s_year()219 char * s_year()
220 {
221
222 get_datetime();
223
224 sprintf(naji_buffer, "%i", ( (1900) + (date_time->tm_year) ) );
225
226 return naji_buffer;
227 }
228
229
year()230 void year()
231 {
232 printf("%s", s_year());
233 }
234
235
datetime(void)236 void datetime(void)
237 {
238 putchar('\n');
239 putchar('\n');
240
241 telltime(); putchar(' ');
242 today(); putchar(' ');
243 dayofmon(); putchar(' ');
244 month(); putchar(' ');
245 year();
246
247 putchar('\n');
248 putchar('\n');
249
250 }
251
252
253 /* End: English Date/Time Functions */
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269 /* Begin: Turkish Date/Time Functions */
270
271
saat()272 void saat()
273 {
274 get_datetime();
275
276 printf("%02i", date_time->tm_hour); /* saat */
277
278 putchar(':');
279
280 printf("%02i", date_time->tm_min); /* dakika */
281
282 putchar(':');
283
284 printf("%02i", date_time->tm_sec); /* saniye */
285
286 }
287
288
s_bugun()289 char * s_bugun()
290 {
291 int i;
292
293 get_datetime();
294
295 for (i=0; i<=6; i++)
296 if (date_time->tm_wday == i)
297 return (gunler[i]);
298
299 return ("(GUN HATA)");
300 }
301
302
s_ay()303 char * s_ay()
304 {
305 int i;
306
307 get_datetime();
308
309 for (i=0; i<=11; i++)
310 if (date_time->tm_mon == i)
311 return (aylar[i]);
312
313 return ("(AY HATA)");
314 }
315
316
bugun()317 void bugun()
318 {
319 printf("%s", s_bugun());
320 }
321
322
ay()323 void ay()
324 {
325 printf("%s", s_ay());
326 }
327
328
s_ayinkaci()329 char * s_ayinkaci()
330 {
331
332 get_datetime();
333
334 sprintf(naji_buffer, "%i", date_time->tm_mday);
335
336 return naji_buffer;
337 }
338
339
ayinkaci()340 void ayinkaci()
341 {
342 printf("%s", s_ayinkaci());
343 }
344
345
s_yil()346 char * s_yil()
347 {
348
349 get_datetime();
350
351 sprintf(naji_buffer, "%i", ( (1900) + (date_time->tm_year) ) );
352
353 return naji_buffer;
354 }
355
356
yil()357 void yil()
358 {
359 printf("%s", s_yil());
360 }
361
362
saatarih(void)363 void saatarih(void)
364 {
365 putchar('\n');
366 putchar('\n');
367
368 saat(); putchar(' ');
369 bugun(); putchar(' ');
370 ayinkaci(); putchar(' ');
371 ay(); putchar(' ');
372 yil();
373
374 putchar('\n');
375 putchar('\n');
376
377 }
378
379
380 /* End: Turkish Date/Time Functions */
381