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"
答案 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