Php 使用本地格式的strftime()月-日-年或日-月-年
我使用的是Php 使用本地格式的strftime()月-日-年或日-月-年,php,Php,我使用的是setlocale(LC_TIME,“de_de”)设置本地时间,我的html中有 setlocale(LC_TIME, "de_DE"); <?php echo strftime("%x"); ?> setlocale(LC_TIME,“de_de”); 在%x的PHP手册中,它说了基于区域设置的首选日期表示,没有时间示例:2009年2月5日的02/05/09,但使用该示例,它将更改为05/02/09 如何将格式保持为2009年2月5日,如果是一个日期最先出现的国家,
setlocale(LC_TIME,“de_de”)
设置本地时间,我的html中有
setlocale(LC_TIME, "de_DE");
<?php echo strftime("%x"); ?>
setlocale(LC_TIME,“de_de”);
在%x
的PHP手册中,它说了基于区域设置的首选日期表示,没有时间示例:2009年2月5日的02/05/09
,但使用该示例,它将更改为05/02/09
如何将格式保持为2009年2月5日,如果是一个日期最先出现的国家,则显示2009年2月5日,而不是将其切换为2009年2月5日,一种方法是在打印输出中月份最先出现的地方创建一个区域设置值数组,然后在打印之前检查区域设置值是否在该数组中
例如:
$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");
}