Я хочу иметь возможность хранить часы работы нескольких ресторанов и определять, открыт ли магазин сейчас, но я застрял в том, как обращаться с местами, которые закрываются после полуночи.
Вотпример часов работы ресторана:
Monday: 6:00AM-10:00PM
Tuesday: 6:00AM-10:00PM
Wednesday: 6:00AM-10:00PM
Thursday: 6:00AM-10:00PM
Friday: 6:00AM-11:59PM
Saturday: 0:00AM-3:00AM, 6:00AM-11:59PM
Sunday: 0:00AM-3:00AM, 6:00AM-10:00PM
Я не уверен, какой тип схемы мне следует использовать, чтобы представить это, таким образом, чтобы я мог определить, является ли конкретный рестораноткройте сейчас.
Когда я настрою схему, моя цель - определить следующее для любого конкретного ресторана:
- Является ли ресторанбудет открыт через 15 минут
- Будет ли ресторан закрыт через 45 минут
Таким образом, если текущее время составляет 15 минут до открытия ресторана, ресторан должен быть рассмотреноткрыт, и если текущее время составляет 45 минут до закрытия, ресторан следует считать закрытым, а все, что между этим следует считать открытым, принимая во вниманиеопрокидывание счета в полночь.
Итак, вот некоторые ожидаемые данные и результаты:
Restaurant 1
Monday: 6:00AM-10:00PM
Tuesday: 6:00AM-10:00PM
Wednesday: 6:00AM-10:00PM
Thursday: 6:00AM-10:00PM
Friday: 6:00AM-11:59PM
Saturday: 0:00AM-3:00AM, 6:00AM-11:59PM
Sunday: 0:00AM-3:00AM, 6:00AM-10:00PM
Current day/time -> Result
Monday 12:00PM -> Open
Monday 2:00AM -> Closed
Monday 5:45AM -> Open
Monday 9:30PM -> Closed
Saturday 4:00AM -> Closed
Saturday 11:55PM -> Open
Sunday 2:00AM -> Open
Sunday 2:25AM -> Closed
Я не уверен, как бы я справился со временем опрокидывания, дляпример, чтобы определить, будет ли ресторан открыт через 45 минут в субботу в 23:55.
Вот еще один пример часов работы ресторана:
Monday: 10:00AM-10:00PM
Tuesday: 10:00AM-10:00PM
Wednesday: 10:00AM-10:00PM
Thursday: 10:00AM-10:00PM
Friday: 10:00AM-11:59PM
Saturday: 0:00AM-11:59PM
Sunday: 0:00AM-9:00PM
В субботу магазин работает в течение 24 часов, поэтому мне нужно иметь дело и с этим делом.
Ресторан может быть открыт 24/7:
Monday: 0:00AM-11:59PM
Tuesday: 0:00AM-11:59PM
Wednesday: 0:00AM-11:59PM
Thursday: 0:00AM-11:59PM
Friday: 0:00AM-11:59PM
Saturday: 0:00AM-11:59PM
Sunday: 0:00AM-11:59PM
В ресторане может быть 0, 1, 2 или более периодов в день:
Monday: CLOSED
Tuesday: CLOSED
Wednesday: 10:00AM-2:00PM, 5:00PM-10:00PM
Thursday: 10:00AM-2:00PM, 5:00PM-10:00PM
Friday: 10:00AM-2:00PM, 5:00PM-11:59PM
Saturday: 0:00AM-3:00AM, 10:00AM-2:00PM, 5:00PM-11:59PM
Sunday: 0:00AM-3:00AM, 10:00AM-2:00PM, 5:00PM-9:00PM
Поэтому моя цель - найти для данного ресторана и егочасы работы, независимо от того, находится ли текущее время между:
- 15 минут до открытия и
- 45 минут до закрытия,
- за любой период на этомдень
И найти хороший способ хранения информации, чтобы можно было определить, что, для нескольких ресторанов.
Поскольку в день может быть 0 или несколько периодов, я думаю, что имеет смысл хранить 1 период в строке, но кроме этого я не уверен, как это сделать.