Как сравнить даты в PHP - PullRequest
       35

Как сравнить даты в PHP

1 голос
/ 25 августа 2011

Я настраиваю функцию недавних действий, где я получаю всю активность пользователя с этой недели.Однако я не знаю, как получить всю активность с этой недели, так как мне нужно сравнить даты между сегодняшним днем ​​и неделей раньше.Подскажите пожалуйста, как я могу это сделать?Я использую базу данных MySQL для хранения всей информации.У меня есть таблицы, лайки, подписки, комментарии и посты.Очевидно, мне нужно сравнить даты, чтобы получить всю информацию из всех таблиц.

Я использую этот метод, когда вставляю даты в свою базу данных MySQL.

function uk_date() {
        $sign = "-"; 
        $h = "0"; 
        $dst = "true"; 
        if ($dst) {
            $daylight_saving = date('I');
            if ($daylight_saving){
               if ($sign == "-"){ $h=$h-1;  }
               else { $h=$h+1; }
          }
        }
        $hm = $h * 60;
        $ms = $hm * 60;
        if ($sign == "-"){ $timestamp = time()-($ms); }
        else { $timestamp = time()+($ms); }
        return $gmdate = gmdate("d/m/Y g:i:s A", $timestamp);
    }

Кроме того,поле "дата" в моей базе данных не является меткой времени, это строка, сгенерированная из метода uk_date () выше.Здесь я не уверен, как сравнивать даты.

Ответы [ 2 ]

1 голос
/ 25 августа 2011

Не совсем понимаю, почему это должно быть так сложно, зачем работать с дневным светом и т. Д. ...

Возможно ли, что вы просто сохраняете в базу данных результат вызова time ()? Тогда у вас будет Unix-timestamp, и это легко сопоставимо с любой другой желаемой временной меткой Unix. Тогда вся арифметика тривиальна ... я прав?

1 голос
/ 25 августа 2011
select * from table where datetime_field > now() - interval 7 day
...