如何在今天之前停止预订

时间:2015-07-24 15:48:23

标签: php

我正在尝试为某种游戏库创建预订系统。 不应允许用户在今天前一天保留游戏。

我尝试通过将用户为预约开始选择的日期更改为时间戳来尝试此操作。然后我会设置今天的日期,将其更改为时间戳,并检查用户选择的日期是否小于今天的时间戳。

以下是代码:

$timestamp = strtotime($ReservationStart);

$todaystamp = (strtotime('yesterday midnight'));

if ($timestamp < $todaystamp) {
    die("The date you've chosen is before today, please choose a valid date");
}

我认为这样可行,但是这段代码只停止了过去和落后2天而不是昨天和后面的预订。

关于如何让它在昨天工作的任何想法?

1 个答案:

答案 0 :(得分:1)

您要找的是使用midnight而不是yesterday midnight

$timestamp = strtotime('midnight');

似乎strtotime向后工作,所以yesterday midnight将在昨天00:00,所以它允许第二天(昨天)的所有24小时允许预订

midnight将转到当天的午夜(从当前日期的00:00开始。

如果你担心今天午夜,那就是:

$timestamp = strtotime('today midnight');

一旦你了解到这一点,这很容易理解。