我正在使用CMS西班牙语网站,我正在尝试将这些月份替换为西班牙语。
这是日期函数日期(“F j,Y,g:i a”)的样子:
August 24, 2011, 1:47 pm
现在我希望它看起来像这样:
Agosto 24, 2011, 1:47 pm
使用Php Documentation中的一个例子我做了这个:
$p['time'] = date("F j, Y, g:i a");
$time_english = $p['time'];
$search = $time_english('August', 'September', 'October', 'November', 'December');
$replace = $times_spanish('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
$subject ='August';
str_replace($search, $replace, $subject);
出现以下错误:
Fatal error: Call to undefined function August 24, 2011, 3:50 pm() in
$search = $time_english('August', 'September', 'October', 'November', 'December');
答案 0 :(得分:2)
使用strftime()
要容易得多。您所要做的就是设置一个locale
,然后您可以用您想要的语言输出。
示例:
setlocale(LC_ALL, 'es_ES'); // I think it´s es_ES
$my_time = strftime("%B %e, %G, %I:%M %P"); // something like that...
答案 1 :(得分:1)
我认为你的意思是
$search = array('August', 'September', 'October', 'November', 'December');
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
而不是
$search = $time_english('August', 'September', 'October', 'November', 'December');
$replace = $times_spanish('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
作为一个兴趣点,您的错误说它试图调用名为August 24, 2011, 3:50 pm()
的函数的原因是因为明显的变量函数名$time_english()
。它返回$time_english
的值,然后尝试将其作为函数运行。
以下是整个事情:
$p['time'] = date("F j, Y, g:i a");
$time_english = $p['time'];
$search = array('August', 'September', 'October', 'November', 'December');
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
$time_spanish = str_replace($search, $replace, $time_english);
答案 2 :(得分:1)
这可能是正确的
$p['time'] = date("F j, Y, g:i a");
$search = array('August', 'September', 'October', 'November', 'December');
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
str_replace($search, $replace, $subject);