| @node strftime | |
| @subsection @code{strftime} | |
| @findex strftime | |
| POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/strftime.html} | |
| Gnulib module: strftime-fixes | |
| @mindex strftime-fixes | |
| Portability problems fixed by Gnulib: | |
| @itemize | |
| @item | |
| On native Windows platforms (mingw, MSVC), this function works incorrectly | |
| when the environment variable @env{TZ} has been set by Cygwin. | |
| @end itemize | |
| Portability problems not fixed by Gnulib: | |
| @itemize | |
| @item | |
| The %c specifier does not work with a time retrieved through @code{gmtime} | |
| or @code{gmtime_r}, since it outputs also the current time zone, | |
| on some platforms: | |
| glibc 2.30, NetBSD 10.0, Solaris 11.4. | |
| @item | |
| The %c specifier produces no weekday name and no month name, only a | |
| potentially ambiguous numerical output, on some platforms: | |
| mingw, MSVC. | |
| @item | |
| The %h specifier produces empty output on some platforms: | |
| mingw, MSVC. | |
| @item | |
| The %r specifier produces empty output on some platforms: | |
| mingw, MSVC. | |
| @item | |
| The %r specifier produces empty output, at least in a French locale, | |
| on some platforms: | |
| macOS 12.5, FreeBSD 14.0. | |
| @item | |
| The %r specifier includes an AM/PM indicator, at least in a French locale, | |
| on some platforms: | |
| NetBSD 10.0, Solaris 11.4. | |
| @item | |
| The %p specifier produces non-empty output, at least in a French locale, | |
| on some platforms: | |
| NetBSD 10.0, Solaris 11.4. | |
| @item | |
| The Windows C runtime library (which is used by MinGW) does not | |
| support the %e specifier (and possibly the other more recent SUS | |
| specifiers too, i.e., %C, %D, %h, %n, %r, %R, %t, and %T). | |
| @item | |
| Native Windows platforms (mingw, MSVC) support only a subset of time | |
| zones supported by GNU or specified by POSIX@. @xref{tzset}. | |
| @end itemize | |
| @mindex nstrftime | |
| Extension: Gnulib offers a module @samp{nstrftime} that provides an | |
| @code{nstrftime} function with various GNU extensions. |