Synopsis
size_t strftime(char *s,
                size_t smax,
                const char *fmt,
                const tm *tp);
Description

strftime formats the *tp struct to a null terminated string of maximum size smax-1 into the array at *s based on the fmt format string. The format string consists of conversion specifications and ordinary characters. Conversion specifications start with a % character followed by an optional # character. The following conversion specifications are supported:

Specification Description
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation appropriate for locale
%#c Date and time formatted as "%A, %B %#d, %Y, %H:%M:%S" (Microsoft extension)
%C Century number
%d Day of month as a decimal number [01,31]
%#d Day of month without leading zero [1,31]
%D Date in the form %m/%d/%y (POSIX.1-2008 extension)
%e Day of month [ 1,31], single digit preceded by space
%F Date in the format %Y-%m-%d
%h Abbreviated month name as %b
%H Hour in 24-hour format [00,23]
%#H Hour in 24-hour format without leading zeros [0,23]
%I Hour in 12-hour format [01,12]
%#I Hour in 12-hour format without leading zeros [1,12]
%j Day of year as a decimal number [001,366]
%#j Day of year as a decimal number without leading zeros [1,366]
%k Hour in 24-hour clock format [ 0,23] (POSIX.1-2008 extension)
%l Hour in 12-hour clock format [ 0,12] (POSIX.1-2008 extension)
%m Month as a decimal number [01,12]
%#m Month as a decimal number without leading zeros [1,12]
%M Minute as a decimal number [00,59]
%#M Minute as a decimal number without leading zeros [0,59]
%n Insert newline character (POSIX.1-2008 extension)
%p Locale's a.m or p.m indicator for 12-hour clock
%r Time as %I:%M:%s %p (POSIX.1-2008 extension)
%R Time as %H:%M (POSIX.1-2008 extension)
%S Second as a decimal number [00,59]
%t Insert tab character (POSIX.1-2008 extension)
%T Time as %H:%M:%S
%#S Second as a decimal number without leading zeros [0,59]
%U Week of year as a decimal number [00,53], Sunday is first day of the week
%#U Week of year as a decimal number without leading zeros [0,53], Sunday is first day of the week
%w Weekday as a decimal number [0,6], Sunday is 0
%W Week number as a decimal number [00,53], Monday is first day of the week
%#W Week number as a decimal number without leading zeros [0,53], Monday is first day of the week
%x Locale's date representation
%#x Locale's long date representation
%X Locale's time representation
%y Year without century, as a decimal number [00,99]
%#y Year without century, as a decimal number without leading zeros [0,99]
%Y Year with century, as decimal number
%z,%Z Timezone name or abbreviation
%% %