PHP中存储在变量from date中的子结构天数
正如标题所说,我试图从日期中减去天数(存储在变量中)。我正在使用PHP中存储在变量from date中的子结构天数,php,date,Php,Date,正如标题所说,我试图从日期中减去天数(存储在变量中)。我正在使用date\u sub功能。 这是一个变量,它包含我要减去的天数(字段中的整数) 职能: $chargedate=date_sub($arrivaldate,date_interval_create_from_date_string($days."days")); $arrivaldate = date('Y-M-D', strtotime($arrivaldate)); $charge
date\u sub
功能。
这是一个变量,它包含我要减去的天数(字段中的整数)
职能:
$chargedate=date_sub($arrivaldate,date_interval_create_from_date_string($days."days"));
$arrivaldate = date('Y-M-D', strtotime($arrivaldate));
$chargedate=date_sub(
$arrivaldate,
date_interval_create_from_date_string($days."days")
);
$arrivaldate
是包含日期的变量,我想从中减去$days
当我使用它时,我得到警告date\u sub()期望参数1是DateTime,字符串在第55行的:\xampp\htdocs\Project\file.php中给出
我想我搞砸了连接,但我无法理解这一点。如果您有任何帮助,我们将不胜感激。在将$arrivaldate变量传递到date_子函数之前,请尝试这样转换它:
$chargedate=date_sub($arrivaldate,date_interval_create_from_date_string($days."days"));
$arrivaldate = date('Y-M-D', strtotime($arrivaldate));
$chargedate=date_sub(
$arrivaldate,
date_interval_create_from_date_string($days."days")
);
根据错误消息,在调用date\u sub
之前,您需要从$arrivaldate
创建DateTime
对象:
$date = date_create(date('Y-m-d', strtotime($arrivaldate)));
$chargedate = date_sub($date,date_interval_create_from_date_string($days." days"));
echo date_format($chargedate, "Y-m-d");
我添加了strotime,因为不清楚您使用的是什么格式,但它可能不是必需的。只有在DateInterval已经可用的情况下,date\u sub和date\u add函数才在实践中使用。您的任务可以更高效、更轻松地使用
重要信息:$arrivaldate中的日期必须采用DateTime接受的格式。请显示您的日期。你的约会是字符串吗?格式如何?例如$arrivaldate=“2021-02-11”会有所帮助。