我一直有这个问题;日期只会将日期设置为01。 这是我的PHP代码:
echo $_POST['day']; //This returns 23
// Year - 1995 Month - 9
$datet = new DateTime($_POST['year'] . "-" . $_POST['month'] . "-" . $_POST['day']);
$date = $datet->format('Y-m-d');
echo $date; //This returns 1995-09-01
为什么会这样?
答案 0 :(得分:2)
您可以设置它,而不是通过构造函数传递日期。
$date = new DateTime();
$date->setDate ($_POST['year'], $_POST['month'], $_POST['day']);
答案 1 :(得分:1)
解决。 $ _POST ['day']返回一个字符串,由于某种原因,当格式化程序采用字符串时,它只会将值设置为1 .. 所以我把它改成了intval($ _POST ['day'])