c date and time functions
Appearance
C standard library (libc) |
---|
General topics |
Miscellaneous headers |
In the C and C++ programming languages, time.h is a header file defined in the C Standard Library to declare time and date functions that provide standardized access to time/date manipulation and formatting.
Functions
char *asctime(const struct tm* tmptr)
- Convert
tm
to a string in the format "Www Mmm dd hh:mm:ss yyyy", where Www is the weekday, Mmm the month in letters, dd the day of the month, hh:mm:ss the time, and yyyy the year. The string is followed by a newline and a terminating null character, containing a total of 26 characters. The string pointed at is statically allocated and shared byctime
andasctime
functions. Each time one of these functions is called the contents of the string is overwritten. clock_t clock(void)
- Return number of clock ticks since process start.
char* ctime(const time_t* timer)
- Convert
time_t
time value to string in the same format asasctime
. The string pointed is statically allocated and shared byctime
andasctime
functions. Each time one of these functions is called the content of the string is overwritten.ctime
also uses internally the buffer used bygmtime
andlocaltime
as return value, so a call to this function will overwrite this. double difftime(time_t timer2, time_t timer1)
- Returns the difference in seconds between the two times.
struct tm* gmtime(const time_t* timer)
- Convert a
time_t
value to a tm structure as UTC time. This structure is statically allocated and shared bygmtime
,localtime
andctime
functions. Each time one of these functions is called the content of the structure is overwritten. struct tm* localtime(const time_t* timer)
- Convert a
time_t
time value to a tm structure as local time. This structure is statically allocated and shared bygmtime
,localtime
andctime
functions. Each time one of these functions is called the content of the structure is overwritten. time_t mktime(struct tm* ptm)
- Convert
tm
to atime_t
time value. Checks the members of the tm structure passed as parameter ptm adjusting the values if the ones provided are not in the possible range or they are incomplete or mistaken and then translates that structure to a time_t value that is returned. The original values of tm_wday and tm_yday members of ptm are ignored and filled with the correspondent ones to the calculated date. The range of tm_mday is not checked until tm_mon and tm_year are determined. On error, a -1 value is returned. time_t time(time_t* timer)
- Get the current time (number of seconds from the epoch) from the system clock. Stores that value in
timer
. Iftimer
is null, the value is not stored, but it is still returned by the function. size_t strftime(char* s, size_t n, const char* format, const struct tm* tptr)
- Format
tm
into a date/time string
Constants
CLK_PER_SEC
- Constant that defines the number of clock ticks per second. Used by the clock() function.
CLOCKS_PER_SEC
- An alternative name for CLK_PER_SEC used in its place in some libraries.
CLK_TCK
- Obsolete macro for CLK_PER_SEC.
Data types
clock_t
- Data type returned by clock().
Generally defined as long int. time_t
- Data type returned by time().
Generally defined as long int. struct tm
- A non-linear, broken-down calendar representation of time.
Calendar time
Calendar time in the C standard library is represented as the struct tm
structure, consisting of the following attributes:
Members
Description
int tm_hour
hour (0 - 23)
int tm_isdst
Daylight saving time enabled/disabled
int tm_mday
day of month (1 - 31)
int tm_min
minutes (0 - 59)
int tm_mon
month (0 - 11, 0 = January)
int tm_sec
seconds (0 - 60)
int tm_wday
day of week (0 - 6, 0 = Sunday)
int tm_yday
day of year (0 - 365)
int tm_year
year since 1900
References
- "Calendar Time". The GNU C Library Reference Manual. 2001-07-06. Retrieved 2007-04-03.
{{cite book}}
: Check date values in: |date=
(help)
- The Single UNIX Specification, Version 4 from The Open Group
: time types – Base Definitions Reference,