2014-12-10 6 views
1

Я использую setlocale(LC_TIME, "de_DE");, чтобы установить местное время, и у меня есть <?php echo strftime("%x"); ?> в моем html.Использование strftime() Месяц День Год или День Месяц Год в локальном формате

setlocale(LC_TIME, "de_DE"); 
<?php echo strftime("%x"); ?> 

в PHP инструкции для %x он говорит Preferred date representation based on locale, without the timeExample: 02/05/09 for February 5, 2009, но с помощью этого примера он изменится на 05/02/09.

Как сохранить формат, как February 5, 2009 и если это страна, где на следующий день приходит первым, дисплей 5 February 2009 вместо переключения его 02/05/09

ответ

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"); 
} 
+0

спасибо! заставил его работать так, как я хотел! –