leading 0 in month parameter making wrong output

前端 未结 2 1115
萌比男神i
萌比男神i 2020-12-22 06:37

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\",         


        
相关标签:
2条回答
  • 2020-12-22 07:32

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

    Numbers with leading 0's are octal. 08 is an invalid value. See http://php.net/integer

    If you prefix a number with a leading 0, it marks the number as Octal. The octal numeral system uses the digits 0 to 7. So, 08 and 09 doesn't exist and are invalid.

    The second statement is correct, and that's the correct method:

    echo date("Y-m-d", mktime(0, 0, 0, 9, 23, 2013));
    
    0 讨论(0)
  • 2020-12-22 07:40

    We can make this parameter as a string and it will work.

    Try this:

    echo date("Y-m-d", mktime(0, 0, 0, '09', 23, 2013));//output 2012-12-23
    
    0 讨论(0)
提交回复
热议问题