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