Функция mktime не отображает правильное название месяца

Все вы, пожалуйста, попытайтесь понять, что {сегмент_4} не является переменной. он берет 4-е значение из URL, например www.example.com/panel/vals/2015/09, т.е. 09

Я использую функцию mktime в движке Expression, но она дает неправильное название месяца, даже если я установил настройки локализации из админ-панели в Индию Калькутта, вот код: —

<?php echo date('F', mktime(0, 0, 0, {segment_4}, 10));?>

Вот segment_4 месяц в цифре, например. 09 но его показ Декабрь так должно быть сентябрь Я проводил исследования для каждого, где говорилось, что функция корректна. Я должен установить что-нибудь еще в движке выражений?

Еще одна вещь, когда я использовал этот код: —

echo date_default_timezone_get();

тогда его показ Европа / Лондон даже я изменил часовой пояс в EE Индией / Калькуттой

заранее спасибо

-2

Решение

Хорошо, у вас есть ’09’, который интерпретируется как восьмеричное 9, что является ошибкой (потому что символ ‘9’ не существует в восьмеричном) и, следовательно, он конвертируется в 0. Что интерпретируется mktime как декабрь , Из комментария @fpietka.

Я бы предложил использовать

<?php echo date('F', mktime(0, 0, 0, ltrim($segment_4, "0"), 10));?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]