Сравнение времени PHP: подробное руководство
Сравнение времени в PHP может оказаться непростой задачей. В этой статье будет дано подробное объяснение того, как эффективно сравнивать время с помощью различных методов.
Ограничение текущего решения
Фрагмент кода, представленный в вопросе, где вы пытаетесь сравнить $NowisTime с $ThatTime не удастся, поскольку сравнение выполняется между строками. Сравнение строк PHP не учитывает разницу во времени должным образом.
Решение с использованием меток времени
Один надежный подход — преобразовать оба значения времени в метки времени с помощью mktime() или strtotime. (), а затем выполните численное сравнение. Следующий пересмотренный код демонстрирует это:
$ThatTime = "14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
В этом случае time() возвращает текущую отметку времени, а strtotime() преобразует $ThatTime в отметку времени. Сравнение теперь стало простым и точным.
Решение с использованием DateTime (с учетом часового пояса)
Класс PHP DateTime позволяет выполнять более сложные сравнения времени с учетом часовых поясов. Вот как вы можете его использовать:
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == ' ') { echo "OK"; }
Метод diff() вычисляет разницу между двумя объектами DateTime, а метод format() возвращает ее в определенном формате, например '%R' здесь, чтобы указать положительную или отрицательную разницу.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3