Преобразовать в заглавную букву названия дня и месяца с помощью PHP strftime ()

0

Когда я хочу показать время в timezone по умолчанию, нет проблем, например:

Friday, 12 de December del 2014

Но проблема существует, когда я хочу показать ее на другом языке (например, в другом часовом поясе), например, на Spanish, он выводится следующим образом:

viernes, 12 de diciembre del 2014

Формат времени, который я использую: "%A, %d de %B del %Y"

Я хотел бы показать следующее: Viernes, 12 de Diciembre del 2014


Я попытался решить это с помощью ucfirst() и ucwords(), но я думаю, что они не являются хорошими решениями для этого, потому что это Viernes, 12 De Diciembre Del 2014: Viernes, 12 De Diciembre Del 2014

  • 0
    Если ни у кого нет лучшего решения, вы всегда можете использовать str_replace()
  • 0
    @JonathanM Сначала я объявил этот setlocale(LC_TIME, 'Spanish'); затем я вызываю его с помощью utf8_encode(strftime("%A, %d de %B del %Y"))
Показать ещё 3 комментария
Теги:
timezone
strftime

1 ответ

0
Лучший ответ

Ну, наконец, после поиска магического метода, который отвечает на мой вопрос, у меня не было другой альтернативы, а не использования предложения пользователя Джона Конде.

Вот метод, который я использовал:

$default_local_date = ucwords(utf8_encode(strftime("%A, %d de %B del %Y")));

$date_connectors_capital = array('De', 'Del');
$date_connectors_lower = array('de', 'del');

$local_date = str_replace($date_connectors_capital, $date_connectors_lower, $default_local_date);

echo $local_date;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню