Die Verwendung von logischen Operatoren mit PHP-Daten funktioniert nicht vollständig korrekt. Es kann ausrechnen, dass 2016 vor 2017 liegt, kann aber nicht feststellen, dass der 1. vor dem 4. im aktuellen Monat liegt.PHP-Daten nicht ganz funktioniert
Ich habe diese Art von Fehler seit einiger Zeit bemerkt: Wie kann man es am besten beheben und vermeiden?
$date_extra_early = date("2017-01-1 07:30:00");
$today = date("Y-m-d H:i:s");
var_dump($today);
var_dump($date_extra_early);
if ($today>$date_extra_early)
echo("today is greater than date extra early\n");
else echo("today is less than date extra early\n");
Ausgänge
string (19) "2017.01.04 14.50.32" string (18) "2017.01.01 07.30.00" Heute weniger als extra früh
Haben Sie versucht, es mit einem richtigen Datetime-Wert als Eingabe? '$ date_extra_early = date (" 2017-01-01 07:30:00 ");' – feeela
@feeela Okay, die führende Null hat diese logische Anweisung funktioniert, aber das ist kein bloßer Tippfehler. Ich habe eine wirklich flockige Zuverlässigkeit von Daten bemerkt. Ich habe mich mal darauf verlassen und es ist katastrophal auseinandergefallen. Sie fragen sich, ob es einen Weg gibt zu garantieren, dass es wie vorgesehen funktioniert. – Stumbler
kann momentan nicht testen, aber versuchen Sie 'if (strtotime (" $ today ")> strtotime (" $ date_extra_early ")) ...' –