C date and time functions
From Wikipedia, the free encyclopedia
|
|
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
(Learn how and when to remove this template message)
|
| C standard library |
|---|
| General topics |
| Miscellaneous headers |
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.[1] They provide support for time acquisition, conversion between date formats, and formatted output to strings.
Overview of functions[edit]
The C date and time operations are defined in the time.h header file (ctime header in C++).
| Identifier | Description | |
|---|---|---|
| Time manipulation |
difftime |
computes the difference in seconds between two time_t values |
time |
returns the current time of the system as a time_t value (which is usually time since an epoch, typically the Unix epoch) |
|
clock |
returns a processor tick count associated with the process | |
| Format conversions |
asctime |
converts a struct tm object to a textual representation (deprecated) |
ctime |
converts a time_t value to a textual representation |
|
strftime |
converts a struct tm object to custom textual representation |
|
wcsftime |
converts a struct tm object to custom wide string textual representation |
|
gmtime |
converts a time_t value to calendar time expressed as Coordinated Universal Time[2] |
|
localtime |
converts a time_t value to calendar time expressed as local time |
|
mktime |
converts calendar time to a time_t value. |
|
| Constants | CLOCKS_PER_SEC |
number of processor clock ticks per second |
| Types | struct tm |
broken-down calendar time type: year, month, day, hour, minute, second |
time_t |
arithmetic time type (typically time since the epoch) | |
clock_t |
process running time type |
Example[edit]
The following C source code prints the current time to the standard output stream.
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
time_t current_time;
char* c_time_string;
/* Obtain current time. */
current_time = time(NULL);
if (current_time == ((time_t)-1))
{
(void) fprintf(stderr, "Failure to obtain the current time.\n");
exit(EXIT_FAILURE);
}
/* Convert to local time format. */
c_time_string = ctime(¤t_time);
if (c_time_string == NULL)
{
(void) fprintf(stderr, "Failure to convert the current time.\n");
exit(EXIT_FAILURE);
}
/* Print to stdout. ctime() has already added a terminating newline character. */
(void) printf("Current time is %s", c_time_string);
exit(EXIT_SUCCESS);
}
The output is:
Current time is Thurs Sept 15 21:18:23 2016
See also[edit]
References[edit]
- ^ ISO/IEC 9899:1999 specification (PDF). p. 351, § 7.32.2.
- ^ open-std.org - Committee Draft -- May 6, 2005 page 355
External links[edit]
| The Wikibook C Programming has a page on the topic of: C Programming/C Reference |

