«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сравнивать время в PHP: подробное руководство

Как сравнивать время в PHP: подробное руководство

Опубликовано 9 ноября 2024 г.
Просматривать:174

How to Compare Times in PHP: A Comprehensive Guide

Сравнение времени 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