|
|
1.1 root 1: /* ascdate.c - ascdate */
2:
3: #include <conf.h>
4: #include <kernel.h>
5: #include <date.h>
6:
7: /*------------------------------------------------------------------------
8: * ascdate - print a given date in ascii including hours:mins:secs
9: *------------------------------------------------------------------------
10: */
11: ascdate(time, str)
12: long time;
13: char *str;
14: {
15: long tmp;
16: int year, month, day, hour, minute, second;
17: long days;
18:
19: /* set year (1970-1999) */
20: for (year=1970 ; TRUE ; year++) {
21: days = isleap(year) ? 366 : 365;
22: tmp = days * SECPERDY;
23: if (tmp > time)
24: break;
25: time -= tmp;
26: }
27: /* set month (0-11) */
28: for (month=0 ; month<12 ; month++) {
29: tmp = Dat.dt_msize[month] * SECPERDY;
30: if (tmp > time)
31: break;
32: time -= tmp;
33: }
34: /* set day of month (1-31) */
35: day = (int)( time/SECPERDY ) + 1;
36: time %= SECPERDY;
37: /* set hour (0-23) */
38: hour = (int) ( time/SECPERHR );
39: time %= SECPERHR;
40: /* set minute (0-59) */
41: minute = time / SECPERMN;
42: time %= SECPERMN;
43: /* set second (0-59) */
44: second = (int) time;
45: sprintf(str, "%3s %2d %4d %2d:%02d:%02d", Dat.dt_mnam[month],
46: day, year, hour, minute, second);
47: return(OK);
48: }
49:
50: struct datinfo Dat = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
51: "Jan", "Feb", "Mar", "Apr", "May", "Jun",
52: "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.