setlocale不能用我的语言,如何创建逻辑呢?

时间:2017-10-26 06:39:01

标签: php date

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 个答案:

答案 0 :(得分:0)

如果将完整的月份名称替换为英语而不是数字,则可以放心地替换字符串。这样的事情会起作用:

代码:(Demo

$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