fbpx
Wikipedia

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.

History edit

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 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, 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
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++ in 2020 in std::chrono.

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(&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 Thu Sep 15 21:18:23 2016 

See also edit

References edit

  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 edit

date, time, functions, this, article, written, like, manual, guide, please, help, rewrite, this, article, remove, advice, instruction, october, 2014, group, functions, standard, library, programming, language, implementing, date, time, manipulation, operations. This article is written like a manual or guide Please help rewrite this article and remove advice or instruction October 2014 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 Contents 1 History 2 Overview of functions 3 Example 4 See also 5 References 6 External linksHistory editThe 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 editThe C date and time operations are defined in the time h header file ctime header in C Identifier Description Timemanipulation 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 Formatconversions 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 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 in 2020 in std chrono Example editThe following C source code prints the current time to the standard output stream include lt time h gt include lt stdlib h gt include lt stdio h gt 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 amp 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 Thu Sep 15 21 18 23 2016See also editUnix time Year 2038 problemReferences edit ISO IEC 9899 1999 specification PDF p 351 7 32 2 PWB1 date system command man page www tuhs org date c sourcecode of PWB1 www tuhs org Rationale for American National Standard for Information Systems Programming Language C Date and Time www lysator liu se open std org Committee Draft May 6 2005 page 355 Markus Kuhn Modernized API for ISO C cl cam ac uk External links edit nbsp 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 amp oldid 1218414588 time, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.