Сравнение двух объектов datetime в symfony - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть два объекта datetime, хранящихся в моей базе данных с помощью метода contructor: App \ Entity \ Токен

    public function __construct()
{
    $this->creation = new \DateTime("now");
    $this->valid = (new \DateTime("now"))->modify('+1 day');
}

Когда я пытаюсь сравнить эти объекты с моим datetimenow, результат не так, как ожидалось, пробовал много разных ситуаций, разбивая лагерь <> или используя diff между двумя датами. Должен ли я использовать что-то особенное ?: Пример:

    $datenow = new \DateTime("now");
    if ( $datenow < $creation && $datenow > $valid ) {
} else{result_always_here}

Может быть что-то связано с форматом, или я должен использовать доктрину, чтобы сравнить его?

enter image description here

Спасибо.

С уважением.

1 Ответ

1 голос
/ 08 апреля 2019

Я не совсем уверен, правильно ли я понимаю ситуацию, но если вы пытаетесь проверить, находится ли дата между двумя другими датами, тогда ваш код из примера должен выглядеть так:

if ($datenow > $creation && $datenow < $valid ) {
    // Code here should be executed
} else{
    // result_always_here is no more
}

Таким образом, сравнение DateTime объектов может быть выполнено так, как вы хотели, а также проверить, находится ли дата между двумя другими, просто ваши операторы сравнения работают наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...