How can I use %{+yyyy.mm.dd} in input?

A sprintf reference to a date, such as %{+yyyy-MM-dd} uses the value of @timestamp on an event to fill in the date. When the elasticsearch input is initializing there is no event, so there is no @timestamp field, so this does not work.

You might be able to use an environment variable. See here for an example.