【发布时间】:2014-06-12 09:48:11
【问题描述】:
我正在尝试创建一个 if 语句来比较两个时间/日期,并查看第二个日期是否在输入第一个日期后不到 24 小时。如果是,则不应允许该语句继续
$date 是在代码前面设置的,是用户输入的日期。
$now = new DateTime();
$future_date = new DateTime($date);
$interval = $future_date->diff($now);
//echo $interval->format("%d days, %h hours, %i minutes, %s seconds");
if ($interval > 60 * 60 * 24) {
这是我试图用来比较给出的日期是否相同的代码,但老实说,我真的不知道如何开始。
if ($interval > 60 * 60 * 24) {
编辑: 我真的不知道它是否真的有效,因为无论如何它都会出现一个空白页面。
$BookID = $_GET['BookID'];
$id = $_GET['id'];
$query = mysqli_query($con,"SELECT time, date FROM tbl_booking WHERE BookID={$BookID} && tbl_mem_id={$id}");
$info = mysqli_fetch_assoc( $query);
$test = $info['date'] . $info['time'];
$date = date("Y-m-d H:i:s", strtotime($test));
$plus24hours = new DateTime("+1 day");
$future_date = new DateTime($date);
if (isset($_SESSION['id']) && $_SESSION['id'] == $_GET['id']) {
if (isset($_GET['BookID']) && is_numeric($_GET['BookID']))
{
if ($future_date > $plus24hours) {
header("refresh:5;url=dashboard.php");
echo "Your booking has been cancelled.";
$sql = "DELETE FROM `tbl_booking` WHERE `BookID`={$BookID}";
$result = mysqli_query($con, $sql);
}}
} else {
// if id isn't set, or isn't valid, redirect back to view page
header("refresh:5;url=dashboard.php");
echo ("Sorry, there is less than 24 hours left and you cannot cancel.");
}
【问题讨论】:
-
我再看看,谢谢