.Dt STRFTIME 3
.Os
.Sh NAME
-.Nm strftime
+.Nm strftime ,
+.Nm strftime_l
.Nd format date and time
.Sh LIBRARY
.Lb libc
.In time.h
.Ft size_t
.Fo strftime
-.Fa "char * restrict buf"
+.Fa "char *restrict s"
.Fa "size_t maxsize"
-.Fa "const char * restrict format"
-.Fa "const struct tm * restrict timeptr"
+.Fa "const char *restrict format"
+.Fa "const struct tm *restrict timeptr"
+.Fc
+.In time.h
+.In xlocale.h
+.Ft size_t
+.Fo strftime_l
+.Fa "char *restrict s"
+.Fa "size_t maxsize"
+.Fa "const char *restrict format"
+.Fa "const struct tm *restrict timeptr"
+.Fa "locale_t loc"
.Fc
.Sh DESCRIPTION
The
function formats the information from
.Fa timeptr
into the buffer
-.Fa buf
+.Fa s ,
according to the string pointed to by
.Fa format .
.Pp
terminating NUL.
Otherwise, zero is returned and the buffer contents are indeterminate.
.Pp
+Although the
+.Fn strftime
+function uses the current locale, the
+.Fn strftime_l
+function may be passed a locale directly. See
+.Xr xlocale 3
+for more information.
+.Pp
The conversion specifications are copied to the buffer after expansion
as follows:-
.Bl -tag -width "xxxx"
.Xr ctime 3 ,
.Xr printf 3 ,
.Xr strptime 3 ,
-.Xr wcsftime 3
+.Xr wcsftime 3 ,
+.Xr xlocale 3
.Sh STANDARDS
The
.Fn strftime
.Ql %u ,
.Ql \&%V ,
.Ql %z ,
+and
.Ql %+ .
.Pp
The peculiar week number and year in the replacements of
.Ql %G ,
-.Ql %g
+.Ql %g ,
and
.Ql \&%V
are defined in ISO 8601: 1988.