Php strftime month name
Многие задаются вопросом не незнают как правильно сделать склонения дат которую выдают функция strftime(“%B”); Документация по этому вопросу ничего конкретного не говорит, и полное название месяца %B на разных системах выводится по разному
Например в OSX php 5.4.3 %B показывает полное название месяца в нужному падеже например “Августа”, при этом тот же самый код в Debian выдает “Август”, дело в том что в файлах локалях содержатся разные строки строки, в OSX со склонение , а в Debian без склонения, тем не менее это еще не вся магия дело в том что в файлах локали есть такие строки
% Initially alt_digits was supposed to hold alternative symbols for _digits_, % corresponding to %O modified conversion specification. % Although in Ukrainian language alternate _names_ are used instead of digits. % We'll use this keyword to present a list of month names in proper form for % date, see mon. (%Om) % % This hack is dedicated for months it won't work for other %O* modifiers % (weeks, days etc). %
Подробнее подкатом.
Но в Debian и в OSX они неработают. А работает в Debian следующая хитрость если написать %b (сокращенное название месяца) то мы увидим что месяц май состоящий из 3-х букв будет склонятся, но все остальные при этом выводятся в 3 буквы.
Поэтому вот простое решение для склонения месяцев которое можно использовать вне зависимости от системы