When looking at formatting Times and Dates in a certain format one quickly looks at
strftime for help. Only problem there is that
strftime will not take into account the translations configured through Rails
I18n gem. So a german representation of 10. Oct 2015 will not render correctly since October is abbreviated in german as Okt.
A solution would be to just define the format pattern through the I18n translations inside the yaml files in
config/locales/ - but often you have formats that are set just this once, so externalizing them is not really a good solution.
Looking at the I18n gem the solution is quite easy:
I18n.localize(<date>, format: '%d. %b %Y') yields the appropriate result while passing in the localization format. So just replacing the
date.strftime(<pattern>) call with
I18n.localize(date, format: <pattern>) is the way to go.
You can also pass in the locale you want it formatted in using the
locale: :de parameter to localize.
Hope this helps.