php - 在非对象错误上调用成员函数 getTimestamp()
问题描述
我正在尝试执行计算,使用 if 语句检查日期是否在其他两个日期之间,日期格式正确,但我似乎仍然遇到时间戳错误。任何有关我如何修复它的帮助将不胜感激。
$Query = mysqli_query($con, "SELECT * FROM tblrental WHERE `CARID` = '".$Car."'");
$row3 = mysqli_fetch_assoc($Query);
$ARTakeOut = $row3\['TakeOutDate'\];
$ARReturn = $row3\['ReturnDate'\];
$ARDaysRented = $row3\['DaysRented'\];
$ARDaysRented = (round($ARDaysRented/2));
$MidDate = date('Y-m-d', strtotime($ARTakeOut . ' + '.$ARDaysRented.' days'));
echo $MidDate; ?> <br> <?PHP
echo $ARTakeOut; ?> <br> <?PHP
echo $ARReturn; ?> <br> <?PHP
if (
$MidDate->getTimestamp() > $ARTakeOut->getTimestamp() &&
$MidDate->getTimestamp() < $ARReturn->getTimestamp()){
echo "is between";
}else{
echo "NO GO!";
}
解决方案
$MidDate
,$ARTakeOut
并且$ARReturn
都是字符串($MidDate
作为输出,date
其他来自数据库读取),而不是DateTime
对象。DateTime
如果要使用,则需要将它们变成对象getTimeStamp
:
$ARTakeOut = new DateTime($row3['TakeOutDate']);
$ARReturn = new DateTime($row3['ReturnDate']);
$ARDaysRented = $row3['DaysRented'];
$ARDaysRented = (round($ARDaysRented/2));
$MidDate = clone $ARTakeOut;
$MidDate->modify("+ $ARDaysRented days");
echo $MidDate->format('Y-m-d'); ?> <br> <?PHP
echo $ARTakeOut->format('Y-m-d'); ?> <br> <?PHP
echo $ARReturn->format('Y-m-d'); ?> <br> <?PHP
注意我已经删除了\
你[
和]
s之前的多余部分
推荐阅读
- javascript - 未捕获的语法错误:无法在模块外使用 import 语句。将打字稿文件导入JavaScript文件
- python-3.x - 从数据框中循环 url 并在 Python 中下载 pdf 文件
- python - 在新列中重复值,直到检测到更改
- node.js - CORS 在任何地方返回代理文本,而不是所需的目标资源
- python - 自动运行 50 个文件的 Python 脚本
- c# - 如何在 C# 中使用 RDLC 报告打印圆形图像?
- excel - 搜索列中 2 个值之间的所有值并循环直到找到最后一个
- android - 如何在 JobScheduler 中保留上下文
- zipfile - 将文件与 Zip 存档中的文件进行比较
- c# - 从 c# windows 应用程序中的按钮单击将值返回到网格