time.h - time types
The <time.h> header declares the structure tm, which includes at least the following members:
int tm_sec seconds [0,61]
int tm_min minutes [0,59]
int tm_hour hour [0,23]
int tm_mday day of month [1,31]
int tm_mon month of year [0,11]
int tm_year years since 1900
int tm_wday day of week [0,6] (Sunday = 0)
int tm_yday day of year [0,365]
int tm_isdst daylight savings flag
The value of tm_isdst is positive if Daylight Saving Time is in effect, 0 if Daylight Saving Time is not in effect, and negative if the information is not available.
This header defines the following symbolic names:
Null pointer constant.
Number of clock ticks per second returned by the times() function (LEGACY).
A number used to convert the value returned by the clock() function into seconds.
The <time.h> header declares the structure timespec, which has at least the following members:
time_t tv_sec seconds
long tv_nsec nanoseconds
This header also declares the itimerspec structure, which has at least the following members:
struct timespec it_interval timer period
struct timespec it_value timer expiration
The following manifest constants are defined:
The identifier of the systemwide realtime clock.
Flag indicating time is absolute with respect to the clock associated with a timer.
The clock_t, clockid_t, size_t, time_t and timer_t types are defined as described in <sys/types.h>.
Although the value of CLOCKS_PER_SEC is required to be 1 million on all XSI-conformant systems, it may be variable on other systems and it should not be assumed that CLOCKS_PER_SEC is a compile-time constant.
The value of CLK_TCK is currently the same as the value of sysconf(_SC_CLK_TCK); however, new applications should call sysconf() because the CLK_TCK macro may be withdrawn in a future issue.
The <time.h> header provides a declaration for getdate_err.
The following are declared as functions and may also be defined as macros. Function prototypes must be provided for use with an ISO C compiler.
char *asctime(const struct tm *);
char *asctime_r(const struct tm *, char *);
int clock_getres(clockid_t, struct timespec *);
int clock_gettime(clockid_t, struct timespec *);
int clock_settime(clockid_t, const struct timespec *);
char *ctime(const time_t *);
char *ctime_r(const time_t *, char *);
double difftime(time_t, time_t);
struct tm *getdate(const char *);
struct tm *gmtime(const time_t *);
struct tm *gmtime_r(const time_t *, struct tm *);
struct tm *localtime(const time_t *);
struct tm *localtime_r(const time_t *, struct tm *);
time_t mktime(struct tm *);
int nanosleep(const struct timespec *, struct timespec *);
size_t strftime(char *, size_t, const char *, const struct tm *);
char *strptime(const char *, const char *, struct tm *);
time_t time(time_t *);
int timer_create(clockid_t, struct sigevent *, timer_t *);
int timer_gettime(timer_t, struct itimerspec *);
int timer_settime(timer_t, int, const struct itimerspec *,
struct itimerspec *);
The following are declared as variables:
extern int daylight;
extern long int timezone;
extern char *tzname;
The range [0,61] for tm_sec allows for the occasional leap second or double leap second.
tm_year is a signed value, therefore years before 1900 may be represented.
The functions clock_getres(), clock_gettime(), clock_settime(), nanosleep(), timer_create(), timer_delete(), timer_getoverrun(), timer_gettime(), and timer_settime() are part of the Realtime Feature Group.
asctime(), asctime_r(), clock(), clock_settime(), ctime(), ctime_r(), daylight, difftime(), getdate(), gmtime(), gmtime_r(), localtime(), localtime_r(), mktime(), nanosleep(), strftime(), strptime(), sysconf(), time(), timer_create(), timer_delete(), timer_settime(), timezone, tzname(), tzset(), utime().