Для тех, кто не в курсе:
strftime — POSIX-функция, которая форматирует даты и времена. Например, strftime( ..., «%d %B %Y», ...) даёт «17 January 2016» (%d — день месяца, %B — название месяца, %Y — год). Результат зависит от текущей локали, в локали ru_RU будет что-нить типа «17 Январь 2016».
Здесь есть проблема: strftime фигово интернационализирована и локализирована. «17 Январь 2016» выглядит кривенько, лучше было бы «17 января 2016».
«Поиграть» с strftime можно из командной стороки:
$ date +"%d %B %Y"
17 January 2016
$ LANG=ru_RU.UTF-8 date +"%d %B %Y"
17 Январь 2016
На эту тему в глибсишном трекере идёт базар. Коротенько тред заключается в следующем: есть предложение реализовать в глибц бсдшный костыль (%OB обозначает название месяца в родительном падеже: «%d %OB %Y» — «17 Января 2016»), я же пытаюсь пропихнуть идею что должна быть возможность получить название месяца (или дня недели) в *любом* падеже.
Если у вас есть что сказать на эту тему, то велкам в глибсишный трекер. Особенно приветствуются люди со знанием языков помимо русского (в той теме присутствует носитель) и английского (с английским проблем нет, там названия месяцев и дней недели не изменяются по падежам). Здесь могут быть носители или знатоки татарского, удмуртского, казахского, может быть, других языков. Если у вас проблемы с английским, то пишите сюда.