Это кажется чем-то, что должно быть довольно простым, но я застрял на странице, порождая эту проблему некоторое время, так что здесь.
Взглянув на документацию PHP, следующие два метода объекта DateTime могут решить мою проблему:
- DateTime :: diff: Получите разницу и используйте ее, чтобы определить, что является более древним.
- DateTime :: getTimestamp: получить метку времени UNIX и сравнить ее.
Оба эти метода отмечены в документе как доступные в версии> = 5.3 (и, что неудивительно, если я попытаюсь вызвать их, я обнаружу, что они не существуют). Я не могу найти какую-либо конкретную документацию для 5.2.8, поэтому я не уверен, есть ли в моей версии эквивалентные методы. Я гуглил проблему и нашел эклектичный диапазон решений, ни одно из которых не отвечает моим очень простым требованиям:
- Как сравнить два объекта DateTime?
- Где я могу найти документацию для предыдущих версий PHP? Конкретно версия 5.2.8?
Для некоторого контекста у меня есть следующий код:
$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)
Видимо, на этом парне нет оператора сравнения.
редактировать
Видимо, мои предположения были полностью ложными (спасибо Милен за столь эффективную иллюстрацию). Есть оператор сравнения, и он работает просто отлично, спасибо. Иногда я действительно скучаю по компилятору. Ошибка в приведенном выше коде, я уверен, вы найдете ее намного быстрее, чем я :).