#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
покажет все доступные.