Converts given calendar time
tmto a textual representation of the following fixed 25-character form:
Www Mmm dd hh:mm:ss yyyy\nWww
- three-letter English abbreviated day of the week from time_ptr->tm_wday, one of Mon
, Tue
, Wed
, Thu
, Fri
, Sat
, Sun
.Mmm
- three-letter English abbreviated month name from time_ptr->tm_mon, one of Jan
, Feb
, Mar
, Apr
, May
, Jun
, Jul
, Aug
, Sep
, Oct
, Nov
, Dec
.dd
- 2-digit day of the month from timeptr->tm_mday as if printed by sprintf using %2d.hh
- 2-digit hour from timeptr->tm_hour as if printed by sprintf using %.2d.mm
- 2-digit minute from timeptr->tm_min as if printed by sprintf using %.2d.ss
- 2-digit second from timeptr->tm_sec as if printed by sprintf using %.2d.yyyy
- 4-digit year from timeptr->tm_year + 1900 as if printed by sprintf using %4d.The behavior is undefined if any member of *time_ptr is outside its normal range.
The behavior is undefined if the calendar year indicated by time_ptr->tm_year has more than 4 digits or is less than the year 1000.
The function does not support localization, and the newline character cannot be removed.
The function modifies static storage and is not thread-safe.
This function is deprecated and should not be used in new code.
(since C23) 2)Same as
(1), except that the message is written into user-provided storage
buf, which is guaranteed to be null-terminated, and the following errors are detected at runtime and call the currently installed
constraint handlerfunction:
asctime_s
is only guaranteed to be available if __STDC_LIB_EXT1__ is defined by the implementation and if the user defines __STDC_WANT_LIB_EXT1__ to the integer constant 1 before including <time.h>.
pointer to a static null-terminated character string holding the textual representation of date and time as described above. The string may be shared between
asctime
and
ctime, and may be overwritten on each invocation of any of those functions.
2) zero on success, non-zero on failure, in which case buf[0] is set to zero (unless buf is a null pointer or bufsz is zero or greater than RSIZE_MAX).
[edit] Notesasctime
returns a pointer to static data and is not thread-safe. POSIX marks this function obsolete and recommends strftime instead. The C standard also recommends strftime instead of asctime
and asctime_s
because strftime
is more flexible and locale-sensitive.
POSIX limits undefined behaviors only to when the output string would be longer than 25 characters, when timeptr->tm_wday or timeptr->tm_mon are not within the expected ranges, or when timeptr->tm_year exceeds INT_MAX - 1990.
Some implementations handle timeptr->tm_mday == 0 as meaning the last day of the preceding month.
[edit] Example#define __STDC_WANT_LIB_EXT1__ 1 #include <stdio.h> #include <time.h> int main(void) { struct tm tm = *localtime(&(time_t){time(NULL)}); printf("%s", asctime(&tm)); // note implicit trailing '\n' #ifdef __STDC_LIB_EXT1__ char str[26]; asctime_s(str, sizeof str, &tm); printf("%s", str); #endif }
Possible output:
Tue May 26 21:51:50 2015 Tue May 26 21:51:50 2015[edit] References
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4