Ich versuche zu überprüfen, ob ein MySQL-Datetime-Objekt innerhalb von 2 Stunden von jetzt rechts ist und nur bestimmte Links zeigen oder nicht, basierend auf der Ride_Stunde mehr als 2 Stunden in der Zukunft der aktuellen Stunde . Hier ist, was ich versucht habe:PHP/CakePHP datetime vergleichen
$now = date('Y-m-d');
$now_hour = date('h');
$ride_date = date('Y-m-d',strtotime($ride['Ride']['date']));
$full_ride_hour = date('h',strtotime($ride['Ride']['date']));
$ride_hour = $full_ride_hour-2;
Also den Tag ich vergleiche zuerst zu sehen, ob es auch heute happing ist, wenn also nicht brauche ich die Stunde zu überprüfen. Ansonsten versuche ich $ ride_hour mit $ now_hour zu vergleichen. Der Tag funktioniert natürlich, aber der Stundenvergleich scheint nicht zu funktionieren.
Die andere Sache, die ich versuche zu tun, ist in der CakePHP-Controller, ist die Ergebnisse basierend auf einem Sortierwert zu begrenzen. Ich versuche, die Ergebnisse entweder auf ALLE, auf Ergebnisse mit einem Datum in der Zukunft oder auf Ergebnisse in der Vergangenheit und auf Paginate zu beschränken. Hier ist, wie ich versuche, was nicht funktioniert:
switch ($sort) {
case 0:
$rides = $this->paginate('Ride',array('Ride.user_id' => $user_id,'Ride.date > now()'));
break;
case 1:
$rides = $this->paginate('Ride',array('Ride.user_id' => $user_id));
break;
case 2:
$rides = $this->paginate('Ride',array('Ride.user_id' => $user_id,'Ride.date < now()'));
break;
}
$this->set('sort',$sort);
$this->set('rides', $rides);
Vielen Dank!
Es gibt einen Unterschied zwischen 'date ('h', ...)' und 'date ('H', ...)'. h "ist 1-12, während" H "0-23 ist. – searlea