Сравнение дат

221
02 июня 2017, 14:21

Насколько коректно сравнивать даты таким образом?

$today = date('Y-m-d'); 
$outdate = "2011-11-02";
if($today >= $outdate) {...

Раньше знаю надо было переводить в разные таймштампы, но похоже сейчас, если задать дату именно в таком формате. все должно быть ок, разве не так?

Answer 1

Если даты точно в одном формате, то логично сравнивать их как строки, т.е.

$date1='2011-02-12';
$date2='2012-02-13';
$result=($date1<$date2); //$result === true

Но если нет уверенности, что формат дат одинаковый, то лучше привести их к формату unixtime и сравнивать как числа:

$date1='2011-02-12';
$date2='13.02.2012';
$result=($date1<$date2); //$result === false
$result=(strtotime($date1)<strtotime($date2)); //$result === true
Answer 2

Воспользуйтесь функцией strtotime, т.е. переведите ваши строки, которые вы получаете через date в метку времени unix, т.е. в число int и тогда удобно можно сравнить

READ ALSO
Подскажите, почему в колбеке переменная $day равна NULL?

Подскажите, почему в колбеке переменная $day равна NULL?

ЗдравствуйтеПодскажите, почему в колбеке $day равна NULL ? Где искать причину ? Спасибо !

261
Ajax + php, прокси-запросы

Ajax + php, прокси-запросы

ЗдравствуйтеЕсть такая схема программы:

346
Две связанные опции в 1 БД

Две связанные опции в 1 БД

1Есть страница называется к примеру "Иван Иванов продает машину"

216
Вызов Joomla-вых редакторов в моем модуле

Вызов Joomla-вых редакторов в моем модуле

Доброго времени суток! Подскажите, пожалуйста, как можно вызвать редактор джумлы в моем модуле и что бы я мог отлавливать с него данные в базу...

201