STRFTIME(3)                    Library Routines                    STRFTIME(3)




NAME

       strftime - format date and time


SYNOPSIS

       #include <time.h>

       size_t  strftime  (char *buf, size_t maxsize, const char *format, const
       struct tm *timeptr);


DESCRIPTION

       The strftime function formats the information  from  timeptr  into  the
       buffer buf according to the string pointed to by format.

       The  format  string  consists of zero or more conversion specifications
       and ordinary characters.  All ordinary characters are  copied  directly
       into the buffer.  A conversion specification consists of a percent sign
       (%) and one other character.

       No more than maxsize characters will be placed into the array.  If  the
       total  number  of  resulting characters, including the terminating null
       character, is not more than maxsize.  strftime returns  the  number  of
       characters in the array, not counting the terminating null.  Otherwise,
       zero is returned.

       Each conversion specification is replaced by the characters as  follows
       which are then copied into the buffer.

              %A     is  replaced by national representation of the full week‐
                     day name.

              %a     is replaced by national representation of the abbreviated
                     weekday  name,  where the abbreviation is the first three
                     characters.

              %B     is replaced by national representation of the full  month
                     name.

              %b     is replaced by national representation of the abbreviated
                     month name, where the abbreviation  is  the  first  three
                     characters.

              %C     is  replaced  by  (year  / 100) as decimal number; single
                     digits are preceded by a zero.

              %c     is replaced by national representation of time  and  date
                     (the format is similar with produced by asctime(3)).

              %D     is equivalent to %m/%d/%y.

              %d     is  replaced  by the day of the month as a decimal number
                     (01-31).

              %E*    POSIX locale extensions.  The sequences %Ec %EC  %Ex  %Ey
                     %EY  %Od  %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy
                     are supposed to provide alternate representations.

              %e     is replaced by the day  of  month  as  a  decimal  number
                     (1-31); single digits are preceded by a blank.

              %H     is replaced by the hour (24-hour clock) as a decimal num‐
                     ber (00-23).

              %h     the same as %b.

              %I     is replaced by the hour (12-hour clock) as a decimal num‐
                     ber (01-12).

              %j     is  replaced  by  the day of the year as a decimal number
                     (001-366).

              %k     is replaced by the hour (24-hour clock) as a decimal num‐
                     ber (0-23); single digits are preceded by a blank.

              %l     is replaced by the hour (12-hour clock) as a decimal num‐
                     ber (1-12); single digits are preceded by a blank.

              %M     is replaced by the minute as a decimal number (00-59).

              %m     is replaced by the month as a decimal number (01-12).

              %n     is replaced by a newline.

              %O*    the same as %E*.

              %p     is replaced by national representation  of  either  "ante
                     meridiem" or "post meridiem" as appropriate.

              %R     is equivalent to

              %r     is equivalent to %I:%M:%S %p.

              %S     is replaced by the second as a decimal number (00-60).

              %s     is replaced by the number of seconds since the Epoch, UTC
                     (see mktime(3)).

              %T     is equivalent to

              %t     is replaced by a tab.

              %U     is replaced by the week number of the year (Sunday as the
                     first day of the week) as a decimal number (00-53).

              %u     is  replaced  by  the weekday (Monday as the first day of
                     the week) as a decimal number (1-7).

              %V     is replaced by the week number of  the  year  (the  first
                     Monday  as  the  first day of week 1) as a decimal number
                     (01-53).

              %v     is equivalent to %e-%b-%Y.

              %W     is replaced by the week number of the year (Monday as the
                     first day of the week) as a decimal number (00-53).

              %w     is  replaced  by  the weekday (Sunday as the first day of
                     the week) as a decimal number (0-6).

              %X     is replaced by national representation of the time.

              %x     is replaced by national representation of the date.

              %Y     is replaced by the year with century as a decimal number.

              %y     is replaced by the year without century as a decimal num‐
                     ber (00-99).

              %Z     is replaced by the time zone name.

              %+     is  replaced  by  national representation of the date and
                     time (the format is similar with produced by date(1)).

              %%     is replaced by %.


SEE ALSO

       date(1), ctime(3), printf(1), printf(3)


STANDARDS

       The strftime function conforms to ANSI/C.  The %s conversion specifica‐
       tion is an extension.


BUGS

       There is no conversion specification for the phase of the moon.

       The  GNO version does not currently handle national locales.  The C lo‐
       cale is assumed.



GNO                               4 July 1999                      STRFTIME(3)

Man(1) output converted with man2html