Дата сравнения («Г-м-д ч: я: с»); - PullRequest
2 голосов
/ 20 июня 2010

как я могу сделать условное заявление типа if date ("Y-m-d h: i: s"); более 30 секунд после даты («Y-m-d h: i: s»);.

Ранее я использовал что-то вроде даты ("Y-m-d h: i: s"); <дата ("Г-м-д ч: я: с"); +30, но это не похоже на работу. </p>

Помощь

Ответы [ 4 ]

10 голосов
/ 20 июня 2010

Используйте strtotime(), чтобы преобразовать их в время UNIX .

Например:

if(strtotime($date2) - strtotime($date1) > 30) {
    // $date2 is more than 30 seconds after $date1
}

или

if(abs(strtotime($date2) - strtotime($date1)) > 30) {
    // $dates are more than 30 second apart
}
2 голосов
/ 20 июня 2010

Используйте strtotime () , чтобы преобразовать обе даты в метку времени Unix, затем добавить требуемое количество секунд ко второй и выполнить целочисленное сравнение.

1 голос
/ 20 июня 2010

Похоже, вы пытаетесь сравнить поля даты базы данных (например, MySQL DATETIME). Используйте функции даты и времени систем баз данных для сравнения значений даты (например, DATE_ADD() или + и простых < или > в MySQL).

1 голос
/ 20 июня 2010

Вместо этого используйте unixtime.Просто конвертируйте свою дату («Гм ч: я: с»);на сегодняшний день («U») или просто время (). strototime () может помочь вам в этом.Он показывает время в секундах с начала эпохи Unix (1 января 1970 г., 00:00:00 по Гринвичу).Тогда этот метод $ unixtime + 30 тоже будет хорошо работать;)

...