|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1985 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms are permitted ! 6: * provided that: (1) source distributions retain this entire copyright ! 7: * notice and comment, and (2) distributions including binaries display ! 8: * the following acknowledgement: ``This product includes software ! 9: * developed by the University of California, Berkeley and its contributors'' ! 10: * in the documentation or other materials provided with the distribution ! 11: * and in all advertising materials mentioning features or use of this ! 12: * software. Neither the name of the University nor the names of its ! 13: * contributors may be used to endorse or promote products derived ! 14: * from this software without specific prior written permission. ! 15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 16: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 18: */ ! 19: ! 20: #ifndef lint ! 21: static char sccsid[] = "@(#)get_date.c 5.4 (Berkeley) 6/1/90"; ! 22: #endif /* not lint */ ! 23: ! 24: #include <stdio.h> ! 25: #include <sys/time.h> ! 26: ! 27: static char *days[] = { ! 28: "Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" ! 29: }; ! 30: ! 31: static char *months[] = { ! 32: "Jan", "Feb", "Mar", "Apr", "May", "June", ! 33: "July", "Aug", "Sept", "Oct", "Nov", "Dec" ! 34: }; ! 35: ! 36: #define AM "am" ! 37: #define PM "pm" ! 38: ! 39: get_date(datebuffer) ! 40: char *datebuffer; ! 41: { ! 42: struct tm *localtime(), *tmp; ! 43: struct timeval tv; ! 44: int realhour; ! 45: char *zone; ! 46: ! 47: gettimeofday(&tv, 0); ! 48: tmp = localtime(&tv.tv_sec); ! 49: ! 50: realhour = tmp->tm_hour; ! 51: zone = AM; /* default to morning */ ! 52: if (tmp->tm_hour == 0) ! 53: realhour = 12; /* midnight */ ! 54: else if (tmp->tm_hour == 12) ! 55: zone = PM; /* noon */ ! 56: else if (tmp->tm_hour >= 13 && tmp->tm_hour <= 23) { /* afternoon */ ! 57: realhour = realhour - 12; ! 58: zone = PM; ! 59: } ! 60: ! 61: /* format is '8:10pm on Sunday, 16 Sept 1973' */ ! 62: ! 63: (void)sprintf(datebuffer, "%d:%02d%s on %s, %d %s %d", ! 64: realhour, ! 65: tmp->tm_min, ! 66: zone, ! 67: days[tmp->tm_wday], ! 68: tmp->tm_mday, ! 69: months[tmp->tm_mon], ! 70: 1900 + tmp->tm_year); ! 71: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.