Я использую функцию DateTime diff в функции, для этого мне нужно определить количество секунд между набором дат. У меня есть эта функция:Как использовать DateTime diff: PHP
public function CanBet($bettilltime, $bettilldate, $betsettime, $betsetdate, $amount) {
$can_bet = true;
$bettilltime = new DateTime(date("H:i:s", strtotime($bettilltime)));
$bettilldate = new DateTime(date("Y-m-d", strtotime($bettilldate)));
$betsettime = new DateTime(date("H:i:s", strtotime("H:i:s", $betsettime)));
$betsetdate = new DateTime(date("Y-m-d", strtotime("Y-m-d", $betsetdate)));
$timeDiff = $betsettime->diff($bettilltime);
return print $timeDiff->s;
$dateDiff = $betsetdate->diff($bettilldate);
return print $dateDiff->s;
if ($this->GetUserBalance() > $amount) {
if ($timeDiff->s >= 0) {
if ($dateDiff->s >= 0) {
$can_bet = true;
}
else {
$can_bet = false;
}
}
else {
$can_bet = false;
}
}
else {
$can_bet = false;
}
return $can_bet = false;
}
Я возвращающегося отпечатки на $ .... Diff, чтобы проверить, если они в настоящее время на значение, однако они всегда возвращают 0. Я пытался использовать ->d | ->m |->y | ->i | ->s | ->h | ->days
(я понимаю что эти значения не возвращают секунды, я использовал их для тестирования), чтобы получить значение для печати из них, однако оно не показывает значение, отличное от 0, что я делаю неправильно здесь?
Примечание
Я установил окончательный возврат к ложным здесь, чтобы для меня, чтобы быть в состоянии остановить функцию, которая использует это работать, я хочу, чтобы мои ценности, где они находятся.
Почему вы даже создавать отдельные данные и объекты времени для обоих bettill и betset? –
@MarkBaker, мне нужно получить разницу между двумя отдельными значениями, так как это для сайта ставок, я должен быть в состоянии проверить, что пользователь не делает ставки после «выключения» гонки/встречи. Кроме того, поскольку расы/собрания имеют отдельные времена и даты, я должен иметь возможность проверять каждый отдельно. Это по запросу клиента. –
Нет, я имею в виду, почему используйте '$ bettilltime = new DateTime (дата (« H: i: s », strtotime (« H: i: s », $ bettilltime))); $ bettilldate = new DateTime (дата («Ymd», strtotime («Ymd», $ bettilldate))); вместо того, чтобы создавать единый '$ bettill = новый DateTime ($ bettilldate. ''. $ Bettilltime);' –