PHP - DateTime格式将天数返回1

时间:2013-12-30 19:23:13

标签: php datetime datetime-format

我一直有这个问题;日期只会将日期设置为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

为什么会这样?

2 个答案:

答案 0 :(得分:2)

您可以设置它,而不是通过构造函数传递日期。

$date = new DateTime();
$date->setDate ($_POST['year'], $_POST['month'], $_POST['day']);

答案 1 :(得分:1)

解决。 $ _POST ['day']返回一个字符串,由于某种原因,当格式化程序采用字符串时,它只会将值设置为1 .. 所以我把它改成了intval($ _POST ['day'])