приводящий 0 в месяц параметр, делающий неправильный вывод

Почему начальный ноль в параметре месяца делает неправильный вывод?

echo date("Ymd", mktime(0, 0, 0, 09, 23, 2013));//output 2012-12-23 echo date("Ymd", mktime(0, 0, 0, 9, 23, 2013));//output 2013-09-23 

От https://bugs.php.net/bug.php?id=55327 :

Числа с ведущими 0 являются восьмеричными. 08 – недопустимое значение. См. http://php.net/integer

Если вы префикс числа с ведущим 0 , он отмечает число как Octal . Система восьмеричных чисел использует цифры от 0 до 7. Таким образом, 08 и 09 не существует и недействительны.

Второе утверждение верно, и это правильный метод:

 echo date("Ymd", mktime(0, 0, 0, 9, 23, 2013)); 

Мы можем сделать этот параметр как строку, и он будет работать.

Попробуй это:

 echo date("Ymd", mktime(0, 0, 0, '09', 23, 2013));//output 2012-12-23