使用不同的语言?
2022-08-30 16:37:35
strtotime 是否只在服务器上使用默认语言?下面的代码应该解析到 2005 年 8 月 11 日,但它使用法语“aout”而不是英语“aug”。
有什么想法如何处理这个问题?
<?php
$date = strtotime('11 aout 05');
echo date('d M Y',$date);
?>
strtotime 是否只在服务器上使用默认语言?下面的代码应该解析到 2005 年 8 月 11 日,但它使用法语“aout”而不是英语“aug”。
有什么想法如何处理这个问题?
<?php
$date = strtotime('11 aout 05');
echo date('d M Y',$date);
?>
如前所述,未考虑区域设置。但是,您可以使用(请参阅 http://ca1.php.net/manual/en/function.strptime.php),因为根据文档:strtotime
strptime
Month and weekday names and other language dependent strings respect the current locale set with setlocale() (LC_TIME).
请注意,根据您的系统、区域设置和编码,您必须考虑重音字符。
法国月份日期为:
janvier février mars avril mai juin juillet août septembre octobre novembre décembre
因此,对于法语月份的非常具体的情况,您可以使用
function myStrtotime($date_string) { return strtotime(strtr(strtolower($date_string), array('janvier'=>'jan','février'=>'feb','mars'=>'march','avril'=>'apr','mai'=>'may','juin'=>'jun','juillet'=>'jul','août'=>'aug','septembre'=>'sep','octobre'=>'oct','novembre'=>'nov','décembre'=>'dec'))); }
如果您以英语传递$date_string,则该函数无论如何都不会中断,因为它不会执行任何替换。