错误date_modify()期望参数1为DateTime

时间:2017-04-19 13:33:50

标签: php date

完整代码:

$ngayhientai = date("d/m/Y");
        $ngaygiao = date_create($ngayhientai,timezone_open("Asia/Ho_Chi_Minh"));
        $ngaygiao = date_modify($ngayhientai,"+3 days");
        $ngaygiao = date_format($ngayhientai,"d/m/Y") ;

        echo $ngaygiao;

错误:

Warning: date_modify() expects parameter 1 to be DateTime, string given in C:\xampp\htdocs\weblazada\dulieu.php on line 8

Warning: date_format() expects parameter 1 to be DateTimeInterface, string given in C:\xampp\htdocs\weblazada\dulieu.php on line 9

帮助我!谢谢大家

2 个答案:

答案 0 :(得分:1)

尝试:

$ngaygiao = date_create(date("d-m-Y"), timezone_open("Asia/Ho_Chi_Minh"));
$ngaygiao = date_modify($ngaygiao, "+3 days");
$ngaygiao = date_format($ngaygiao, "d/m/Y") ;

echo $ngaygiao;

这些函数需要一个本机DateTime对象,并且在某些情况下你没有使用正确的变量。

答案 1 :(得分:0)

函数date仅将格式化的日期检索为字符串。

date_modify函数是DateTime::modify()的别名,是Date\Time library的一部分。

因此,对于您的情况,您可以这样做:

$ngayhientai = new \DateTime();

$ngayhientai = date_create();

其余用作OO:

$ngayhientai->modify("+3 days");
echo $ngayhientai->format("d/m/Y");

没有必要保存另一个变量。