C date and time functions

From Wikipedia, the free encyclopedia
Jump to: navigation, search

C date and time functions refer to 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 between times
time returns the current time of the system as time since the epoch (which is usually the Unix epoch)
clock returns a processor tick count associated with the process
Format
conversions
asctime converts a tm object to a textual representation
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 time since the epoch to calendar time expressed as Coordinated Universal Time[2]
localtime converts time since the epoch to calendar time expressed as local time
mktime converts calendar time to time since the epoch
Constants CLOCKS_PER_SEC number of processor clock ticks per second
Types tm calendar time type
time_t time since the epoch type
clock_t process running time type

Example[edit]

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 as seconds elapsed since the Epoch. */
    current_time = time(NULL);
 
    if (current_time == ((time_t)-1))
    {
        (void) fprintf(stderr, "Failure to compute the current time.");
        return 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.");
        return EXIT_FAILURE;
    }
 
    /* Print to stdout. */
    (void) printf("Current time is %s", c_time_string);
    return EXIT_SUCCESS;
}

The output is:

Current time is Wed Aug 20 17:53:49 2014

See also[edit]

References[edit]

External links[edit]