Как определить, находится ли момент времени в пределах определенного периода времени?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как определить, находится ли момент времени в пределах определенного периода времени?

Сообщение Anonymous »

Извините за мой плохой английский. Я программирую игру с фантастическим свиданием. Например, в каждом месяце ровно 30 дней. Не имеет значения. В сутках, как и в нашем мире, 24 часа, в каждом часе 60 минут и в каждой минуте 60 секунд.
Итак. Я хочу определить, открыт ли магазин или нет. Значения в базе данных выглядят следующим образом: открыто с 8 до 18 (например, днем), открыто с 20 до 2 (например, ночью), открыто с... ... Проблема не в дне, а в ранние утренние часы, потому что это следующий день.

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

AventurienDate from, to;

int HourFrom = 18;  // shop open from
int HourTo = 8; // shop open to
bool hasopen = false;

AventurienDate now;
now.set(1025, 4, 26, 1);    // Year, month, day, hour

from.set(1025, 4, now.Day, HourFrom);
to.set(1025, 4, now.Day, HourTo);

if(from < to || from == to)
hasopen = (from < now || from == now) && (to > now || to == now);
else {
to.addHours(24);
if(now.Hours >= HourFrom && now.Hours  now || to == now);
}
qDebug() 

Подробнее здесь: [url]https://stackoverflow.com/questions/78855868/how-can-you-determine-whether-a-point-in-time-is-within-a-time-period[/url]
Ответить

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

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

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

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

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