The <time.h>
header file defines two macros, and
declares four types and several functions for manipulating time
and date information. Some functions process local time, which may
differ from calendar time because of time zone.
size_t
sizeof
operator.
clock_t time_t
struct tm
int tm_sec; /* seconds after the minute -- [0,61] */ int tm_min; /* minutes after the hour -- [0,59] */ int tm_hour; /* hours since midnight -- [0,23] */ int tm_mday; /* day of the month -- [1,31] */ int tm_mon; /* months since January -- [0,11] */ int tm_year; /* years since 1900 */ int tm_wday; /* days since Sunday -- [0,6] */ int tm_yday; /* days since January 1 -- [0,365] */ int tm_isdst; /* Daylight Saving Time flag -- 0 if */ /* DST not in effect; positive if it is; */ /* negative if information is not available. */
NULL
CLOCKS_PER_SEC
clock
function.
char *asctime(const struct tm *timeptr);
Sat Sep 08 08:10:32 1990\n\0
A pointer to the string is returned.
char *ctime(const time_t *timer);
asctime
function. A pointer to the string is
returned. The ctime
function is equivalent to the
following:
asctime(localtime(timer))
struct tm *gmtime(const time_t *timer);
gmtime
function returns a pointer to the broken-
down time, or a null pointer if UTC is not available.
struct tm *localtime(const time_t *timer);
localtime
function returns a pointer to the broken-
down time.
size_t strftime(char *s, size_t maxsize, const char
*format, const struct tm *timeptr);
LC_TIME
category of the current locale and by the
values contained in the structure pointed to by timeptr.
Specifier | Replaced by |
---|---|
%a | The locale's abbreviated weekday name |
%A
| The locale's full weekday name |
%b | The locale's abbreviated month name |
%B |
The locale's full month name |
%c | The locale's appropriate date and time representation |
%d
| The day of the month as a decimal number (01 - 31) |
%H | The hour (24-hour clock) as a decimal number (00 - 23) |
%I | The hour (12- hour clock) as a decimal number (01 - 12) |
%j | The day of the year as a decimal number (001 - 366) |
%m | The month as a decimal number (01 - 12) |
%M |
The minute as a decimal number (00 - 59) |
%p | The locale's equivalent of the AM/PM designations associated with a 12-hour clock |
%S |
The second as a decimal number (00 - 61) |
%U | The week number of the year (the first Sunday as the first day of week 1) as a decimal number (00 - 53) |
%w
| The weekday as a decimal number (0 [Sunday] - 6) |
%W |
The week number of the year (the first Monday as the first day of week 1) as a decimal number (00 - 53) |
%x | The locale's appropriate date representation |
%X | The locale's appropriate time representation |
%y
| The year without century as a decimal number (00 - 99) |
%Y |
The year with century as a decimal number |
%Z | The time zone name or abbreviation, or by no characters if no time zone can be determined |
%% |
% |
If the total number of resulting characters including the
terminating null character is not more than maxsize
, the strftime
function returns the number of
characters placed into the array pointed to by s,
not including the terminating null character. Otherwise, 0 is
returned, and the array contents are indeterminate.
clock_t clock(void);
clock
function returns the processor time used by the program since
the beginning of an event related to the program invocation.
To determine the time in seconds, divide the return value by
the value of the CLOCKS_PER_SEC
macro. If the
processor time is not available or cannot be represented, the
value returned is (clock_t)-1
. (To measure the time
spent in a program, call the clock
function at the
start of the program and subtract the return value from that of
subsequent calls.)
double difftime(time_t time1, time_t
time0);
double
.
time_t mktime(struct tm *timeptr);
time
function (that is, a value of type
time_t
), which it returns. If the calendar time
cannot be represented, the value (time_t)-1
is
returned.
The original values of the tm_wday
and tm_
yday
time components are ignored, and the original
values of the other components are not restricted to the ranges
indicated in the previous discussion of struct_tm
. Upon successful completion of the function, the values of the
tm_wday
and tm_yday
components are
set appropriately, and the other components are set to represent
the specified calendar time, but with their values forced to the
ranges indicated in the discussion of struct_tm
. The final value of tm_wday
is not set until
tm_mon
and tm_year
are determined.
time_t time(time_t *timer);
(time_t)-1
is returned.