我正在使用 CMS 西班牙语网站,并且我正在尝试将月份替换为西班牙语。
这就是日期函数的样子 date("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;
在调用 date
之前尝试使用
setlocale指定正确的语言。例如
/* Set locale to Spanish */
setlocale(LC_ALL, 'es_ES');
附注在您的原始代码中,使用该方法,您需要替换:
$time = str_replace($search, $replace, $subject);
与
$time = str_replace($search, $replace, $time);
但我建议使用
setlocale
,这样你就不必担心自己这样做。另外,
$echo = $time;
完全错误;应该是:
echo $time;
不要重新发明轮子
使用strftime
$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;
我认为你的 str_replace 的 $subject 应该是 $time,否则你正在搜索并替换字符串“August”