clock_t
    size_t      both arithmetic types which can represent times
    struct tm   holds components of calendar time:
      int tm_sec    seconds after the minute (0, 61)
      int tm_min    minutes after the hour (0, 59)
      int tm_hour   hours since midnight (0, 23)
      int tm_mday   day of the month (1, 31)
      int tm_mon    months since January (0, 11)
      int tm_year   years since 1900
      int tm_wday   days since Sunday (0, 6)
      int tm_yday   days since January 1 (0, 365)
      int tm_isdst  Daylight Savings Time flag
    clock_t clock(void);
    time_t time(time_t *tp);
    double difftime(time_t time2, time_t time1);
    time_t mktime(struct tm *tp);
    char *asctime(const struct tm *tp)
    char *ctime(const time_t *tp);
    char tm *gmtime(const time_t *tp);
    struct tm *localtime(const time_t *tp);
    size_t strftime(char *s, size_t smax, const char *fmt,
		    const struct tm *tp);
      conversions for fmt:
          %a  abbreviated weekday name
          %A  full weekday name
          %b  abbreviated month name
          %B  full month name
          %c local date and time
          %d  day of the month (01-31)
          %H  hour (00-23)
          %I  hour (01-12)
          %j  day of the year (001-366)
          %m  month (01-12)
          %M  minute (00-59)
          %p  AM/PM
          %S  second (00-61)
          %U  week number of the year, Sunday first day (00-53)
          %w  weekday (0-6, Sunday 0)
          %W  week number of the year, Monday first day (00-53)
          %x  local date
          %X  local time
          %y  year without century (00-99)
          %Y  year with century
          %Z  time zone name
          %%  %
    

next slide