2013-10-03 18 views
0

爲什麼月份參數中的前導零輸出錯誤?在月份參數中導致0錯誤輸出

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 
+0

因爲'09'不是一個有效的值。 –

+0

09如何不能成爲有效的價值? – itsazzad

回答

5

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

數字與0領先的八進制。 08是無效值。見 http://php.net/integer

如果前綴多個具有領先0,它標誌着作爲Octal數量。八進制數字系統使用數字0到7.因此,0809不存在並且無效。

第二種說法是正確的,這是正確的方法:

echo date("Y-m-d", mktime(0, 0, 0, 9, 23, 2013)); 
1

我們可以把這個參數設置爲一個字符串,它會工作。

試試這個:

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