Проверьте, не прошла ли данная дата

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

if( strtotime($this->day) < time() ){ // date format is YYYY-MM-DD // date is past }else{ // date is not past } 

Кажется, что он работает отлично, за исключением того, что сегодня он рассматривает дату как прошлый день. Что я делаю не так?

Solutions Collecting From Web of "Проверьте, не прошла ли данная дата"

Временная метка никогда не содержит только дату, но всегда остается текущей. strtotime($this->day) вернет сегодняшнюю дату в 0:00 , пока вы сравниваете ее сейчас, скажем, 11:12 .

Вы можете использовать strtotime("$this->day 12:59:59pm"); (если для этого разрешен формат $this->day ) или использовать метку времени завтра .

Проще ->

 if(strtotime($this->day) < strtotime(date('Ym-d'))) { ... } else { ... } 
 if(strtotime($this->day) < mktime(0, 0, 0)){ // date is past } else { // date is not past }