gpt4 book ai didi

php - 在 bool 值上调用成员函数 format()

转载 作者:搜寻专家 更新时间:2023-10-31 21:21:44 35 4
gpt4 key购买 nike

我想找出两个日期之间的差异,并且我已使用 date_diff 进行相同的计算。当格式函数应用于 date_diff 对象时,它会返回一个错误。

Call to a member function format() on boolean

$field_value 从数据库中获取,格式为 dd/mm/YYYY。当我对 $field_value$indexing_value 的值进行硬编码时,以下代码有效。

直到第 8 行,一切都运行良好。我尝试输出

的值
$diff->format("%R%a")

它返回准确的值,但代码在 if 语句附近给出错误。

$date = new DateTime();
$current_date = $date->format('d/m/Y');
$indexing_value = str_replace("/", "-", $field_value);
$current_value = str_replace("/", "-", $current_date);
$indexing_value = date_create($indexing_value);
$current_value = date_create($current_value);

$diff = date_diff($indexing_value, $current_value);
if ($diff->format("%R%a") < 0) {
echo "1";
} else {
echo "2";
}

请让我知道上面的代码有什么问题。

最佳答案

添加条件来检查你是否得到了差异,因为如果有错误它返回 false 。检查manual同样

$diff = date_diff($indexing_value, $current_value);
if ($diff) {
if ($diff->format("%R%a") < 0) {
echo "1";
}else{
echo "2";
}
}

您收到错误是因为对于某些值,未计算差异并且在 $diff 中具有值 False

关于php - 在 bool 值上调用成员函数 format(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46293221/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com