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.[1] They provide support for time acquisition, conversion between date formats, and formatted output to strings.

Overview of functions

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 objects
time returns the current time of the system as a time_t object (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 tm object to a textual representation (deprecated)
ctime converts a time_t object to a textual representation
strftime converts a tm object to custom textual representation
wcsftime converts a tm object to custom wide string textual representation
gmtime converts a time_t object to calendar time expressed as Coordinated Universal Time[2]
localtime converts a time_t object to calendar time expressed as local time
mktime converts calendar time to a time_t object
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

The following C source code snippet 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(&current_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 Wed Aug 20 17:53:49 2014

See also

References

External links

The Wikibook C Programming has a page on the topic of: C Programming/C Reference
This article is issued from Wikipedia - version of the Wednesday, March 30, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.