This section describes facilities for keeping track of calendar time. See Time Basics.
The GNU C library represents calendar time three ways:
time_tdata type) is a compact representation, typically giving the number of seconds of elapsed time since some implementation-specific base time.
struct timevaldata type, which includes fractions of a second. Use this time representation instead of simple time when you need greater precision.
struct tmdata type) represents a calendar time as a set of components specifying the year, month, and so on in the Gregorian calendar, for a specific time zone. This calendar time representation is usually used only to communicate with people.