2015-07-24 4 views
1

Я пытаюсь создать систему бронирования для какой-либо игровой библиотеки. Пользователям не разрешается оставлять игру за день до сегодняшнего дня.Как остановить бронирование до сегодняшнего дня

Я попытался сделать это, изменив дату, выбранную пользователем для начала бронирования, в метку времени. Затем я установил дату на сегодняшний день, изменил бы ее на отметку времени и проверил бы, выбрана ли дата, выбранная пользователем, меньше, чем сегодняшняя временная метка.

Вот код:

$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 дней в прошлом и за чем вчера и сзади.

Любые идеи о том, как заставить его работать на вчера?

+0

Что произойдет, если вы просто сделаете «полночь» или «вчера»? – Albzi

+0

Кажется, полночь работает, спасибо! – Blackman123

+0

Не волнуйся, я отведу тебе ответ :) – Albzi

ответ

1

Что вы ищете, это использовать midnight, а не yesterday midnight.

$timestamp = strtotime('midnight'); 

Кажется, что strtotime работает в обратном направлении, так yesterday midnight бы вчера в 00:00, так что позволяет все 24 часа на следующий день (вчера), чтобы иметь возможность заказать.

midnight бы . до полуночи текущего дня (начиная с текущей даты, что-х 00:00

Если вы беспокоились о том, чтобы сегодня в полночь, это было бы:

$timestamp = strtotime('today midnight'); 

Так что вы поняли, как только вы это узнаете.

Смежные вопросы