Как проверить, включены ли две временные метки Unix за пять минут, используя класс DateTimePhp

Кемеровские программисты php общаются здесь
Anonymous
Как проверить, включены ли две временные метки Unix за пять минут, используя класс DateTime

Сообщение Anonymous »

Как проверить в PHP, что две временные метки Unix находятся в диапазоне 5 минут, используя класс DateTime?
Я имею в виду пять минут часов, а не (5*60 секунд). Когда именно пройдет минута, посмотрите на системные часы.
Таким образом, это может быть, например, диапазон от 04:59 до 05:04.
В этом случае, если временные метки относятся, например, к 04:59 и 05:04, это должно быть правдой.
У меня много проблем с разными днями и часами, в противном случае было бы достаточно простого вычитания.

Код: Выделить всё

function checker($timestamp1, $timestamp2){
$date1 = new DateTime();
$date2 = new DateTime();
$date1->setTimestamp($timestamp1);
$date2->setTimestamp($timestamp2);
$a_date = $date1->format('d m Y');
$b_date = $date2->format('d m Y');

// I'm lost exactly here
// WHAT CODE I HAVE TO WRITE FROM HERE ON?!?!

if ($a_date != $b_date) { return 0; } //WRONG CODE FOR "14 10 2024 00:00:10" AND "13 10 2024 23:59:00"
$a_hour = $date1->format('H');
$b_hour = $date2->format('H');
if (abs($a_hour - $b_hour) > 2) { return 0; }
$a = $date1->getTimestamp();
$b = $date2->getTimestamp();
if (abs($a - $b) setTimestamp($timestamp1);
$date2->setTimestamp($timestamp2);
$interval = $date1->diff($date2);
// WHAT TO DO HERE?!?!?!
echo 'RESULT: '.$interval->format('%d.%m.%Y %H %i');
}
А пока, чтобы помочь вам лучше понять, я создал небольшую демонстрацию.
https://www.programiz.com/online- компилятор/58tMVsphqDk1K

Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-dateti

Вернуться в «Php»