我正在使用CMS西班牙语网站,我正在尝试将这些月份替换为西班牙语。
这是日期函数日期(“F j,Y,g:i a”)的样子:
August 24, 2011, 1:47 pm
现在我希望它看起来像这样:
Agosto 24, 2011, 1:47 pm
使用str_replace函数替换字符串,但缺少日期和小时。
Agosto
这是我用来定义它的代码:
date_default_timezone_set("America/Belize");
$p['time'] = date("F j, Y, g:i a");
$time = $p['time'];
$search = array('August', 'September', 'October', 'November', 'December');
$subject ='August';
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
$time = str_replace($search, $replace, $subject);
$echo = $time;
答案 0 :(得分:2)
在致电date
之前,请尝试使用setlocale指定正确的语言。 E.g。
/* Set locale to Spanish */
setlocale(LC_ALL, 'es_ES');
P.S。在原始代码中,使用该方法,您需要替换:
$time = str_replace($search, $replace, $subject);
与
$time = str_replace($search, $replace, $time);
但我建议使用setlocale
,这样您就不必担心自己这样做了。此外,
$echo = $time;
完全错了;它应该是:
echo $time;
答案 1 :(得分:1)
不要重新发明轮子
使用strftime
答案 2 :(得分:1)
$echo = $time;
?!
不应该是echo $time;
?
你的代码应该是这样的:
date_default_timezone_set("America/Belize");
$time = date("F j, Y, g:i a");
$search = array('August', 'September', 'October', 'November', 'December');
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
$time = str_replace($search, $replace, $time);
echo $time;
答案 3 :(得分:0)
我认为你的str_replace的$ subject应该是$ time,否则你正在搜索并替换字符串'August'