setlocale не работает с моим языком, как создать логику по этому поводу?

setlocale не работает, и я попытался создать логику, чтобы делать то, что я хочу:

У меня есть эта строка string(19) "2017-08-29 11:27:24" Я хочу получить месяц (в этом случае 08) из массива ниже в позиции 08 a.k.a «Август». И преобразовать его в дату снова.

$amonths=array('01'=>'Януари','02'=>'Февруари','03'=>'Март','04'=>'Април','05'=>'Май','06'=>'Юни','07'=>'Юли','08'=>'Август','09'=>'Септември','10'=>'Октомври','11'=>'Ноември','12'=>'Декември');

А потом использовать date('j F Y', some variable), Результат будет "29 Август 2017" не "29 August 2017"

1

Решение

Вы можете с уверенностью заменить строки, если вы замените полное название месяца английским, а не цифрами. Примерно так будет работать:

Код: (демонстрация)

$lookup=['January'=>'Януари',
'February'=>'Февруари',
'March'=>'Март',
'April'=>'Април',
'May'=>'Май',
'June'=>'Юни',
'July'=>'Юли',
'August'=>'Август',
'September'=>'Септември',
'October'=>'Октомври',
'November'=>'Ноември',
'December'=>'Декември'];
$date=date('j F Y',strtotime("2017-08-29 11:27:24"));
echo str_replace(array_keys($lookup),$lookup,$date);

Выход:

29 Август 2017
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector