C date and time functions
The C date and time functions are a group of functions in the standard library of the C programming language implementing date and time manipulation operations. They provide support for time acquisition, conversion between date formats, and formatted output to strings.
History
The format string used instrftime traces back to at least PWB/UNIX 1.0, released in 1977. Its date system command includes various formatting options. In 1989, the ANSI C standard is released including strftime and other date and time functions.Overview of functions
The C date and time operations are defined in the header file.| Identifier | Description | |
| Time manipulation | | computes the difference in seconds between two time_t values |
| Time manipulation | | returns the current time of the system as a time_t value, number of seconds,. The value of the epoch is operating system dependent; 1900 and 1970 are often used. See RFC 868. |
| Time manipulation | | returns a processor tick count associated with the process |
| Time manipulation | | returns a calendar time based on a time base |
| Format conversions | | converts a struct tm object to a textual representation |
| Format conversions | | converts a time_t value to a textual representation |
| Format conversions | | converts a struct tm object to custom textual representation |
| Format conversions | | converts a string with time information to a struct tm |
| Format conversions | | converts a struct tm object to custom wide string textual representation |
| Format conversions | | converts a time_t value to calendar time expressed as Coordinated Universal Time |
| Format conversions | | converts a time_t value to calendar time expressed as local time |
| Format conversions | | converts calendar time to a time_t value. |
| Constants | | number of processor clock ticks per second |
| Constants | TIME_UTC | time base for UTC |
| Types | | broken-down calendar time type: year, month, day, hour, minute, second |
| Types | | arithmetic time type |
| Types | | process running time type |
| Types | | time with seconds and nanoseconds |
The and related types were originally proposed by Markus Kuhn to provide a variety of time bases, but only was accepted. The functionalities were, however, added to C++ with the release of C++20 in
std::chrono.Example
The following C source code prints the current time to the standard output stream.- include
- include
- include
The output is:
Current time is Thu Sep 15 21:18:23 2016