Преобразовать переменную дату PHP в локальную дату на иврите

#php #date #variables #localization #hebrew

#php #Дата #переменные #локализация #Иврит

Вопрос:

Я конвертирую строку в PHP в переменную date и мне нужно напечатать ее в локальной дате на иврите. Я печатаю дату на странице с date('M'); результатом March на английском языке, и мой желаемый результат — напечатать ее на местном языке иврит, что должно привести к מרץ .

Я знаю, что есть способ создать массив и перевести каждое название месяца и дня вручную, но мне интересно преобразовать имеющуюся у меня переменную date в $date в локальную дату PHP на иврите. На иврите. Каков будет наилучший способ сделать это?

Ответ №1:

Сначала вам нужно установить языковой стандарт:

 if (setlocale(LC_ALL, 'he_IL') === false) {
    throw new Exception("Locale not available on this machine.");
}
  

А затем используйте strftime(), поскольку date() не учитывает настройки локали:

 echo strftime('%B');
  

Также обратите внимание, что в вашей системе должна быть установлена правильная локаль, которую вы можете указать через командную строку с помощью locale -a .

Комментарии:

1. Как я могу использовать strftime(); для печати переменной date?

2. Прочитайте документы. Вы можете передать временную метку в качестве второго параметра.

3. Я установил локальную дату раньше, но echo strftime('%B'); печатаю месяц на английском языке как March вместо этого на иврите.

4. «Также обратите внимание, что в вашей системе должна быть установлена правильная локаль».

5. Некоторым системам может потребоваться использование 'he_IL.utf-8' (в моем окне CentOS это делается. Мой Mac этого не делает) Алекс уже упоминал, что locale -a покажет все доступные.