home *** CD-ROM | disk | FTP | other *** search
/ Sams Teach Yourself C in 21 Days (6th Edition) / STYC216E.ISO / mac / Examples / TR / new_time.c < prev    next >
C/C++ Source or Header  |  2002-04-27  |  778b  |  44 lines

  1. /*new_time.c */
  2. /* Figures out the day of week for a given date */
  3.  
  4. #include <stdio.h>
  5. #include <time.h>
  6.  
  7. static const char *const wday[] = {
  8.   "Sunday",
  9.   "Monday",
  10.   "Tuesday",
  11.   "Wednesday",
  12.   "Thursday",
  13.   "Friday",
  14.   "Saturday",
  15.   "-unknown-"
  16. };
  17.  
  18. int main(void)
  19. {
  20.    int year = 2002;
  21.    int month = 4;    /* month (Jan = 1, etc.)*/
  22.    int day = 27;
  23.  
  24.    struct tm time_str;
  25.  
  26.    time_str.tm_year = year - 1900;
  27.    time_str.tm_mon = month - 1;
  28.    time_str.tm_mday = day;
  29.    time_str.tm_hour = 0;
  30.    time_str.tm_min = 0;
  31.    time_str.tm_sec = 1;
  32.    time_str.tm_isdst = -1;
  33.  
  34.    if (mktime(&time_str) == (time_t)(-1))
  35.    {
  36.        time_str.tm_wday = 7;
  37.    }
  38.    printf("%s\n", wday[time_str.tm_wday]);
  39.  
  40.    system("PAUSE");
  41.  
  42.    return 0;
  43. }
  44.