我使用setlocale(LC_TIME, "de_DE");
设置本地时间,我的html中有<?php echo strftime("%x"); ?>
。
setlocale(LC_TIME, "de_DE");
<?php echo strftime("%x"); ?>
在%x
的PHP手册中Preferred date representation based on locale, without the time
Example: 02/05/09 for February 5, 2009
,但使用该示例时,它将更改为05/02/09。
如何将格式保持为February 5, 2009
,如果它是第一天的国家/地区,请显示5 February 2009
,而不是将其切换为02/05/09
答案 0 :(得分:1)
实现此目的的一种方法是创建一个区域设置值数组,其中月份在打印输出中排在第一位,然后在打印之前检查您的区域设置值是否在该数组中。
示例:
$month_first_locales = array("de_DE", "fr_CA"); //add locales where date is formatted like 5 February 2009
$locale = "de_DE";
setlocale(LC_TIME, $locale);
if(in_array($locale, $month_first_locales)){
echo strftime("%d %B %Y");
}else{
echo strftime("%B %d, %Y");
}