|
|
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.