Как исправить разный вывод дат php-smarty на разных хостингах?
Используется Smarty 3 + php.
На хостинге jino.ru (php 5.6) если вывести дату в таком формате: {$smarty.now|date_format:"%B %Y"|lower} - результат будет январь 2022.
На хостинге beget.com, на VPS установили ISP Manager, поставили ту же версию PHP 5.6, настроили timezone Europe/Moscow, выводится january 2022.
Решили эту проблему путем setlocale(LC_ALL, 'ru_RU.utf8'); в PHP.
Но теперь выводится не январь 2022 как на jino, а января 2022 (т.е., будто мы выводим дату с числом, но мы ведь выводим только месяц и год.....) Подскажите, как лечить? Скрипт самописный, вывод дат очень, очень и очень много где расположен, везде менять не вариант, нужно как-то универсально решить проблему.
siroper, https://www.smarty.net/docsv2/ru/api.register.func...
Проще создать свою функцию, в ней массив месяцев начиная с 1 индекса
1 => 'январь' и аргументом передавать индекс, который можно брать из даты, порядковый номер месяца, велосипед?
Скрипт самописный, вывод дат очень, очень и очень много где расположен, везде менять не вариант, нужно как-то универсально решить проблему
Тут дело в сервере т.к. сайт 1 в 1 копия сайта на jino, он без имзенений был перенесен, дело не в smarty.
Даже в centos 8, уже не зная зачем от отчаяния, также установил локаль ru_RU, все бестолку.
На хостинге jino.ru (php 5.6) если вывести дату в таком формате: {$smarty.now|date_format:"%B %Y"|lower} - результат будет январь 2022
На хостинге beget.com, на VPS установили ISP Manager, поставили ту-же версию PHP 5.6, настроили timezone Europe/Moscow, выводится january 2022. (января если применить setlocale)
.
Сравнивал, ничего не отличается что может касаться дат.