En jetant un œil à la documentation PHP, les deux méthodes suivantes de l' DateTime
objet semblent toutes les deux résoudre mon problème:
- DateTime :: diff : Obtenez la différence et utilisez-la pour déterminer laquelle est la plus ancienne.
- DateTime :: getTimestamp : Obtenez le timestampt UNIX et comparez-les.
Ces deux méthodes sont marquées dans le doco comme étant disponibles dans la version> = 5.3 (et, sans surprise, si j'essaye de les appeler je trouve qu'elles n'existent pas). Je ne trouve aucune documentation spécifique pour 5.2.8, donc je ne suis pas sûr qu'il existe des méthodes équivalentes dans ma version. J'ai recherché le problème sur Google et trouvé une gamme éclectique de solutions, dont aucune ne répond à mes exigences très simples:
- Comment comparer deux objets DateTime?
- Où puis-je trouver le doco pour les versions PHP précédentes? Plus précisément la version 5.2.8?
Pour un certain contexte, j'ai le code suivant:
$st_dt = new DateTime(verifyParam ('start_date'));
$end_dt = new DateTime(verifyParam ('end_date'));
// is the end date more ancient than the start date?
if ($end_dt < $start_dt)
Apparemment, il n'y a pas d'opérateur de comparaison sur ce type.
Éditer
Apparemment, mes hypothèses étaient complètement fausses (merci Milen d'avoir illustré cela si efficacement). Il y a un opérateur de comparaison et cela fonctionne très bien merci. Parfois, je manque vraiment un compilateur. Le bug est dans le code ci-dessus, je suis sûr que vous le trouverez beaucoup plus rapidement que moi :).
$_POST
vars, sinon le chaton sera tué.