home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume4 / unaxcess / part2 / date.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-11-30  |  1.5 KB  |  77 lines

  1. /*
  2.  * %W% %E% %U% ncoast!bsa %Z%
  3.  * %Z% Copyright (C) 1986 by Brandon S. Allbery, All Rights Reserved %Z%
  4.  */
  5.  
  6. #ifndef lint
  7. static char _SccsId[] = "%W% %E% %U% ncoast!bsa %Z%";
  8. static char _CopyRt[] = "%Z% Copyright (C) 1985 by Brandon S. Allbery %Z%";
  9. #endif  lint
  10.  
  11. #ifdef BSD
  12. #include <sys/time.h>
  13. #else
  14. #include <time.h>
  15. #endif BSD
  16.  
  17. static char *month[] =
  18.     {
  19.     "January",    "February",    "March",    "April",
  20.     "May",        "June",        "July",        "August",
  21.     "September",    "October",    "November",    "December"
  22.     };
  23.  
  24. static char *wkday[] =
  25.     {
  26.     "Sunday",    "Monday",    "Tuesday",    "Wednesday",
  27.     "Thursday",    "Friday",    "Saturday"
  28.     };
  29.  
  30. struct tm *localtime();
  31.  
  32. char *date()
  33.     {
  34.     long clock;
  35.     struct tm *ltbuf;
  36.     static char tbuf[18];
  37.  
  38.     time(&clock);
  39.     ltbuf = localtime(&clock);
  40.     sprintf(tbuf, "%02d/%02d/%02d %02d:%02d:%02d", ltbuf->tm_mon + 1, ltbuf->tm_mday, ltbuf->tm_year, ltbuf->tm_hour, ltbuf->tm_min, ltbuf->tm_sec);
  41.     return tbuf;
  42.     }
  43.  
  44. char *longdate()
  45.     {
  46.     long clock;
  47.     struct tm *ltbuf;
  48.     static char tbuf[80];
  49.     short hour;
  50.     char ampm;
  51.  
  52.     time(&clock);
  53.     ltbuf = localtime(&clock);
  54.     if (ltbuf->tm_hour == 0)
  55.     {
  56.     hour = 12;
  57.     ampm = 'A';
  58.     }
  59.     else if (ltbuf->tm_hour < 12)
  60.     {
  61.     hour = ltbuf->tm_hour;
  62.     ampm = 'A';
  63.     }
  64.     else if (ltbuf->tm_hour == 12)
  65.     {
  66.     hour = 12;
  67.     ampm = 'P';
  68.     }
  69.     else
  70.     {
  71.     hour = ltbuf->tm_hour - 12;
  72.     ampm = 'P';
  73.     }
  74.     sprintf(tbuf, "%s, %s %d, 19%02d - %d:%02d %cM", wkday[ltbuf->tm_wday], month[ltbuf->tm_mon], ltbuf->tm_mday, ltbuf->tm_year, hour, ltbuf->tm_min, ampm);
  75.     return tbuf;
  76.     }
  77.