PHP, если час находится между двумя другими часамиPhp

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

Сообщение Anonymous »

Мне нужно определить, находится ли текущий час между двумя другими временами. Например, чтобы проверить, находится ли время между 07:00 и 10:00, я мог бы использовать:

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

$currentTime = new DateTime('09:00');
$startTime = new DateTime('07:00');
$endTime = new DateTime('10:00');

if ($currentTime->format('H:i') >= $startTime->format('H:i') && $currentTime->format('H:i') format('H:i')) {
// Do something
}
У меня проблема в том, что произойдет, если время 01:00, и я хочу проверить, находится ли оно между 22:00 и 07:00. Меня не беспокоит, что сегодня другой день, просто если он попадает между этими двумя часами в 24-часовом формате. Пример 01:00 находится между 22:00 и 07:00

22:00, 23:00, 00:00, 01:00, 02:00... 07:00

В конечном итоге я пытаюсь добиться того, что в разное время за услугу могут быть установлены разные цены. Итак, в настоящее время я просматриваю каждый час, определяя, в какую ценовую категорию попадает этот час, и соответствующим образом меняю цену. Если у кого-нибудь есть более элегантное решение проблемы, я был бы рад узнать.

ОБНОВЛЕНИЕ:

Скажем, у меня есть правило, согласно которому с 22:00 до 7 утра я хочу взимать двойную плату. Я просматриваю каждый час от времени начала до времени окончания и проверяю, попадает ли каждый час между 22:00 (22:00) и 07:00 (7:00), и если да, то за него должна взиматься двойная плата. Я хочу избежать необходимости учитывать дату.

Подробнее здесь: https://stackoverflow.com/questions/263 ... ther-hours
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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