WCSFTIME(3C) Standard C Library Functions WCSFTIME(3C)

wcsftime, wcsftime_l - convert date and time to wide character string

#include <wchar.h>

size_t wcsftime(wchar_t *wcs, size_t maxsize, const char *format,

const struct tm *timptr);

size_t wcsftime(wchar_t *restrict wcs, size_t maxsize,

const wchar_t *restrict format,
const struct tm *restrict timptr);

size_t wcsftime_l(wchar_t *restrict wcs, size_t maxsize,
const wchar_t *restrict format,
const struct tm *restrict timptr, locale_t loc);

The wcsftime() function is equivalent to the strftime(3C) 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.
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.

Likewise, the wcsftime_l() function is equivalent to the strftime_l(3C), with the same changes as wcsftime.

If the total number of resulting wide character codes (including the terminating null wide-character code) is no more than maxsize, both functions return the number of wide-character codes placed into the array pointed to by wcs, not including the terminating null wide-character code. Otherwise, 0 is returned and the contents of the array are indeterminate.

Both functions may use malloc(3C); should malloc() fail, they will return 0 and errno will be set by malloc().

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
CSI Enabled
Interface Stability wcsftime: Standard
wcsftime_l: Committed
MT-Level MT-Safe with exceptions

malloc(3C), setlocale(3C), strftime(3C), attributes(7), standards(7)

The wcsftime() function can be used safely in multithreaded applications, as long as setlocale(3C) is not being called to change the locale.

May 10, 2025 OmniOS