NAME
asctime asctime_r
— convert date and time to a string
SYNOPSIS
#include <time.h> char *asctime(const struct tm *timeptr); char *asctime_r(const struct tm *tm, char *buf);
DESCRIPTION
The asctime() function converts the broken-down time in the structure pointed to by timeptr into a string in the form:
Sun Sep 16 01:03:52 1973\n\0
char *asctime(const struct tm *timeptr)
{
static char wday_name[7][3] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
static char mon_name[12][3] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
static char result[26];
sprintf(result, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n",
wday_name[timeptr->tm_wday],
mon_name[timeptr->tm_mon],
timeptr->tm_mday, timeptr->tm_hour,
timeptr->tm_min, timeptr->tm_sec,
1900 + timeptr->tm_year);
return result;
}
The tm structure is defined in the <time.h> header.
The asctime(), ctime(), gmtime() and localtime() functions return values in one of two static objects: a broken-down time structure and an array of type char. Execution of any of the functions may overwrite the information returned in either of these objects by any of the other functions.
The asctime() interface need not be reentrant.
The asctime_r() function converts the broken-down time in the structure pointed to by tm into a string that is placed in the user-supplied buffer pointed to by buf (which contains at least 26 bytes) and then returns buf.
RETURN VALUE
Upon successful completion, asctime() returns a pointer to the string.
Upon successful completion, asctime_r() returns a pointer to a character string containing the date and time. This string is pointed to by the argument buf. If the function is unsuccessful, it returns NULL.
ERRORS
No errors are defined.
EXAMPLES
None.
APPLICATION USAGE
Values for the broken-down time structure can be obtained by calling gmtime(3) or localtime(3) . This interface is included for compatibility with older implementations, and does not support localised date and time formats. Applications should use strftime(3) to achieve maximum portability.
FUTURE DIRECTIONS
None.
SEE ALSO
clock(3) , ctime(3) , difftime(3) , gmtime(3) , localtime(3) , mktime(3) , strftime(3) , strptime(3) , time(3) , utime(3) , <time.h> .
DERIVATION
asctime() derived from Issue 1 of the SVID.
asctime_r() derived from the POSIX Threads Extension (1003.1c-1995).