GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — C date and time functions - Wikipedia

(Redirected from Time.h)

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.

History

The format string used in strftime traces back to at least PWB/UNIX 1.0, released in 1977. Its date system command includes various formatting options.[2][3] In 1989, the ANSI C standard is released including strftime and other date and time functions.[4]

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 values
time returns the current time of the system as a time_t value, number of seconds, (which is usually time since an epoch, typically the Unix epoch). The value of the epoch is operating system dependent; 1900 and 1970 are often used. See RFC 868.
clock returns a processor tick count associated with the process
timespec_get (C11) returns a calendar time based on a time base
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
strptime converts a string with time information to a struct tm
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[5]
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
TIME_UTC time base for UTC
Types struct tm broken-down calendar time type: year, month, day, hour, minute, second
time_t arithmetic time type (typically time since the Unix epoch)
clock_t process running time type
struct timespec time with seconds and nanoseconds

The timespec and related types were originally proposed by Markus Kuhn to provide a variety of time bases, but only TIME_UTC was accepted.[6] 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 <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void) {
    // Obtain current time.
    time_t current_time = time(NULL);

    if (current_time == (time_t)-1) {
        fprintf(stderr, "Failure to obtain the current time.\n");
        return EXIT_FAILURE;
    }

    // Convert to local time format. 
    char* time_string = ctime(&current_time);

    if (!time_string) {
        fprintf(stderr, "Failure to convert the current time.\n");
        return EXIT_FAILURE;
    }

    // Print to stdout. ctime() has already added a terminating newline character.
    printf("Current time is %s", time_string);
    return EXIT_SUCCESS;
}

The output is:

Current time is Thu Sep 15 21:18:23 2016

See also

  • Unix time
  • Year 2038 problem

References

  1. ↑ ISO/IEC 9899:1999 specification (PDF). p. 351, § 7.32.2.
  2. ↑ "PWB1 date system command - man page". www.tuhs.org.
  3. ↑ "date.c sourcecode of PWB1". www.tuhs.org.
  4. ↑ "Rationale for American National Standard for Information Systems - Programming Language - C - Date and Time". www.lysator.liu.se.
  5. ↑ open-std.org - Committee Draft -- May 6, 2005 page 355
  6. ↑ Markus Kuhn. "Modernized API for ISO C". cl.cam.ac.uk.

External links

Wikibooks logo
The Wikibook C Programming has a page on the topic of: C Programming/C Reference
Retrieved from "https://en.wikipedia.org/w/index.php?title=C_date_and_time_functions&oldid=1337350887"
Categories:
  • C standard library
  • Time
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Use dmy dates from December 2020
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.