wcsftime - convert date and time to a wide-character string
size_t wcsftime(wchar_t *restrict wcs, size_t maxsize,
const wchar_t *restrict format, const struct tm *restrict timeptr);
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO C standard.
The wcsftime() function shall be equivalent to the strftime() function, except that:
The argument wcs points to the initial element of an array of wide characters into which the generated output is to be placed.
The argument maxsize indicates the maximum number of wide characters to be placed in the output array.
The argument format is a wide-character string and the conversion specifications are replaced by corresponding sequences of wide characters. It is unspecified whether an encoding error occurs if the format string contains wchar_t values that do not correspond to members of the character set of the current locale.
[CX] Field widths specify the number of wide characters instead of the number of bytes.
The return value indicates the number of wide characters placed in the output array.
If copying takes place between objects that overlap, the behavior is undefined.
If the total number of resulting wide-character codes including the terminating null wide-character code is no more than maxsize, wcsftime() shall return the number of wide-character codes placed into the array pointed to by wcs, not including the terminating null wide-character code. Otherwise, zero is returned and the contents of the array are unspecified.
No errors are defined.
First released in Issue 4.
Moved from ENHANCED I18N to BASE and the [ENOSYS] error is removed.
Aligned with ISO/IEC 9899:1990/Amendment 1:1995 (E). Specifically, the type of the format argument is changed from const char * to const wchar_t *.
The wcsftime() prototype is updated for alignment with the ISO/IEC 9899:1999 standard.
POSIX.1-2008, Technical Corrigendum 2, XSH/TC2-2008/0388  and XSH/TC2-2008/0389  are applied.
return to top of page