0

Why the leading zero in the month parameter making wrong output?

echo date("Y-m-d", mktime(0, 0, 0, 09, 23, 2013));//output 2012-12-23
echo date("Y-m-d", mktime(0, 0, 0, 9, 23, 2013));//output 2013-09-23
4

2 に答える 2

6

https://bugs.php.net/bug.php?id=55327から:

先頭に 0 がある数値は 8 進数です。08 は無効な値です。http://php.net/integerを参照

数値の前に を付けると、その数値はOctal0としてマークされます。8 進数では 0 から 7 までの数字を使用します。そのため、andは存在せず、無効です。0809

2 番目のステートメントは正しく、それが正しい方法です。

echo date("Y-m-d", mktime(0, 0, 0, 9, 23, 2013));
于 2013-10-03T13:23:04.993 に答える
1

このパラメーターを文字列として作成すると、機能します。

これを試して:

echo date("Y-m-d", mktime(0, 0, 0, '09', 23, 2013));//output 2012-12-23
于 2013-10-03T13:24:18.637 に答える