The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group

 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

using the equivalent of the following algorithm:

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() or localtime(). This interface is included for compatibility with older implementations, and does not support localised date and time formats. Applications should use strftime() to achieve maximum portability.

 FUTURE DIRECTIONS

None.

 SEE ALSO

clock(), ctime(), difftime(), gmtime(), localtime(), mktime(), strftime(), strptime(), time(), utime(), <time.h>.

DERIVATION

asctime() derived from Issue 1 of the SVID.

asctime_r() derived from the POSIX Threads Extension (1003.1c-1995).


UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]