php mktime() 意外结果

php mktime() unexpected result

<?php
echo date('Y-m-d', mktime(0,0,0,31,3,2018));
?>

演示 https://3v4l.org/CPmvm

输出:2020-07-03 而不是 2018-03-31

我该如何解决这个问题? 感谢任何帮助。

试试这个

echo date('Y-m-d', mktime(0,0,0,3,31,2018));

mktime()你已经过了 31 个月零 3 天。到 2018 年应该再增加 2 年。这就是 returns 2020 年的原因。

正确的语法:

mktime(hour,minute,second,month,day,year,is_dst);

来源 - PHP mktime() Function