php - 前0个月的参数导致错误的输出

标签 php date mktime

为什么月份参数中的前导零导致输出错误?

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

最佳答案

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



如果您在数字前面加上0前缀,则会将数字标记为Octal。八进制数字系统使用数字0到7。因此,0809不存在并且无效。

第二句话是正确的,那是正确的方法:
echo date("Y-m-d", mktime(0, 0, 0, 9, 23, 2013));

关于php - 前0个月的参数导致错误的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60353466/

相关文章:

PHP 帮助解释一个函数

php - mysql_real_escape_string() 没有清理变量

PHP减去一周星期日

c++ - mktime() 函数 : increasing tm_hour count by one 的令人困惑的行为

php - 用 php 查找 WEEKOFYEAR 的最后一天/日期

php - 无法以正确的顺序显示 mysqli 数据库结果

php - 如何在codeigniter中将查询结果作为一个数组返回

java - 如何以数字格式获取当前日期和时区

mysql - 在 MySQL 中的 WHERE 条件中转换日期

c - localtime() 弄错了,说 date = September 31