clock_t and time_t are arithmetic types capable of representing times. [section 6.2.5 Types, pdf pages 46-47, defines an arithmetic type as an integer or floating type; and a floating type is defined as a real floating type or complex type. So clock_t and time_t could be floating or complex, but on Unix systems they are an integer type, and a time_t value represents the number of seconds elapsed since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)] CLOCKS_PER_SEC expands to an expression with type clock_t that is the number per second of the value returned by the clock function. clock_t clock(void); // determines the processor time used double difftime(time_t t1, time_t t0); // time difference in seconds time_t mktime(struct tm *tmptr); // create time_t from struct tm time_t time(time_t *timer); // current calendar time Time conversion functions: char *asctime(const struct tm *tmptr); // produces a string like "Sun Sep 16 01:03:52 1973\n" char *ctime(const time_t *timer); // same as asctime(localtime(timer)) struct tm *gmtime(const time_t *timer); // create struct tm from time_t struct tm *localtime(const time_t *timer); size_t strftime(char * restrict s, size_t maxsize, const char * restrict format, const struct tm * restrict timeptr); The tm structure shall contain at least the following members, in any order. The semantics of the members and their normal ranges are expressed in the comments.274) int tm_sec; // seconds after the minute - [0, 60] 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 Saving Time flag 274) The range [0, 60] for tm_sec allows for a positive leap second. The value of tm_isdst is positive if Daylight Saving Time is in effect, zero if Daylight Saving Time is not in effect, and negative if the information is not available. 276) Thus, a positive or zero value for tm_isdst causes the mktime function to presume initially that Daylight Saving Time, respectively, is or is not in effect for the specified time. A negative value causes it to attempt to determine whether Daylight Saving Time is in effect for the specified time.