home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / cnews.tar / libc / ascingmtime.c next >
C/C++ Source or Header  |  1992-07-12  |  789b  |  34 lines

  1. /*
  2.  * ascingmtime - convert GMT to ascii Internet format
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <ctype.h>
  7. #include <time.h>
  8. #include <sys/types.h>
  9. #include <sys/timeb.h>
  10.  
  11. #define HIGH(nn) ((nn) / 10)
  12. #define LOW(nn)  ((nn) % 10)
  13.  
  14. char *
  15. ascingmtime(tm)
  16. register struct tm *tm;            /* better be GMT */
  17. {
  18.     static char chtime[128];
  19.     static char *days[] =
  20.         { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
  21.     static char *months[] = {
  22.         "Jan", "Feb", "Mar", "Apr", "May", "Jun",
  23.         "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
  24.     };
  25.  
  26.     (void) sprintf(chtime, "%s, %d %s %d %d%d:%d%d:%d%d GMT\n",
  27.         days[tm->tm_wday],
  28.         tm->tm_mday, months[tm->tm_mon], tm->tm_year + 1900,
  29.         HIGH(tm->tm_hour), LOW(tm->tm_hour),
  30.         HIGH(tm->tm_min),  LOW(tm->tm_min),
  31.         HIGH(tm->tm_sec),  LOW(tm->tm_sec));
  32.     return chtime;
  33. }
  34.