Running an ESP32 with Arduino 1.8. Trying in vain to suppress the leading zero (or space) from the day of the month with strftime. Tried the following combinations:
"%A %B %d, %Y"
Tuesday February 08, 2022
"%A %B %-d, %Y"
Tuesday February 08, 2022
"%A %B %#d, %Y"
Tuesday February 08, 2022
"%A %B %e, %Y"
Tuesday February 8, 2022
"%A %B %-e, %Y"
Tuesday February 8, 2022
"%A %B %#e, %Y"
Tuesday February 8, 2022
Without building the string in several components, is there a format code I am missing?
Not tried it but from an old program I wrote I had included the below as a hint. Looks like you use the # character to suppress leading zeros.
/*
%a Abbreviated weekday name
%A Full weekday name
%b Abbreviated month name
%B Full month name
%c Date and time representation for your locale
%d Day of month as a decimal number (01-31)
%H Hour in 24-hour format (00-23)
%I Hour in 12-hour format (01-12)
%j Day of year as decimal number (001-366)
%m Month as decimal number (01-12)
%M Minute as decimal number (00-59)
%p Current locale’s A.M./P.M. indicator for 12-hour clock
%S Second as decimal number (00-59)
%U Week of year as decimal number, Sunday as first day of week (00-51)
%w Weekday as decimal number (0-6; Sunday is 0)
%W Week of year as decimal number, Monday as first day of week (00-51)
%x Date representation for current locale
%X Time representation for current locale
%y Year without century, as decimal number (00-99)
%Y Year with century, as decimal number
%z %Z Time-zone name or abbreviation, (no characters if time zone is unknown)
%% Percent sign
You can include text literals (such as spaces and colons) to make a neater display or for padding between adjoining columns.
You can suppress the display of leading zeroes by using the "#" character (%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y)
*/
struct tm timeinfo;
Serial.print(&timeinfo, " %d %B %Y %H:%M:%S ");