asctime, ctime, gmtime, localtime, mktime - transform binary
date and time to ASCII
char *asctime(const struct tm *timeptr));
char *ctime(const time_t *timep));
struct tm *gmtime(const time_t *timep));
struct tm *localtime(const time_t *timep));
time_t mktime(struct tm *timeptr));
extern char *tzname;
long int timezone;
extern int daylight;
The ctime(), gmtime() and localtime() functions all take an
argument of data type time_t which represents calendar time.
When interpreted as an absolute time value, it represents
the number of seconds elapsed since 00:00:00 on January 1,
1970, Coordinated Universal Time (UTC).
The asctime() and mktime() functions both take an argument
representing broken-down time which is a binary representa-
tion separated into year, month, day, etc. Broken-down time
is stored in the structure tm which is defined in <time.h>
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
The members of the tm structure are:
The number of seconds after the minute, normally in the
range 0 to 59, but can be up to 61 to allow for leap
The number of minutes after the hour, in the range 0 to
The number of hours past midnight, in the range 0 to
The day of the month, in the range 1 to 31.
The number of months since January, in the range 0 to
The number of years since 1900.
The number of days since Sunday, in the range 0 to 6.
The number of days since January 1, in the range 0 to
A flag that indicates whether daylight saving time is
in effect at the time described. The value is positive
if daylight saving time is in effect, zero if it is
not, and negative if the information is not available.
The ctime() function converts the calendar time timep into a
string of the form
"Wed Jun 30 21:49:08 1993\n"
The abbreviations for the days of the week are `Sun', `Mon',
`Tue', `Wed', `Thu', `Fri', and `Sat'. The abbreviations
for the months are `Jan', `Feb', `Mar', `Apr', `May', `Jun',
`Jul', `Aug', `Sep', `Oct', `Nov', and `Dec'. The return
value points to a statically allocated string which might be
overwritten by subsequent calls to any of the date and time
functions. The function also sets the external variable
tzname with information about the current time zone.
The gmtime() function converts the calendar time timep to
broken-down time representation, expressed in Coordinated
Universal Time (UTC).
The localtime() function converts the calendar time timep to
broken-time representation, expressed relative to the user's
specified time zone. The function sets the external vari-
ables tzname with information about the current time zone,
timezone with the difference between Coordinated Universal
Time (UTC) and local standard time in seconds, and daylight
to a non-zero value if standard US daylight savings time
The asctime() function converts the broken-down time value
timeptr into a string with the same format as ctime(). The
return value points to a statically allocated string which
might be overwritten by subsequent calls to any of the date
and time functions.
The mktime() function converts a broken-down time structure,
expressed as local time, to calendar time representation.
The function ignores the specified contents of the structure
members tm_wday and tm_yday and recomputes them from the
other information in the broken-down time structure. Cal-
ling mktime() also sets the external variable tzname with
information about the current time zone. If the specified
broken-down time cannot be represented as calendar time,
mktime() returns a value of (time_t)(-1) and does not alter
the tm_wday and tm_yday members of the broken-down time
SVID 3, POSIX, BSD 4.3, ISO 9899
date(1), gettimeofday(2), time(2), difftime(3), strftime(3),