Модуль datetime
предоставляет все, что вам нужно.
>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2012, 2, 18, 20, 38, 53, 271145)
Вы можете получить текущий день недели с datetime.datetime.weekday
.
>>> now.weekday()
5
Fetch значения базы данных и поместить их в datetime.time
объекты (вы работаете, как это не должно быть трудно понять, strptime
, вероятно, будет то, что вам нужно).
Некоторые образцы данных:
>>> opening_time = datetime.time(11, 0, 0, 0)
>>> closing_time = datetime.time(14, 0, 0, 0)
Затем сравнить времена:
>>> opening_time < now.time() < closing_time
False
Это не открыть в настоящее время (потому что это 8:38 пополудни).
Естественно, он будет более сложным, если вам нужно сравнить несколько значений, но это простой вопрос итерации; более сложным будет то, где у вас есть значения, охватывающие несколько дней, поскольку ваши данные образца, похоже, указывают на то, что у вас может быть. Но это не так уж сложно выяснить, когда у вас есть основы.
Обратите внимание, что это касается всего этого в Python; большинство случаев использования (не совсем уверенно в бизнесе по будням, хотя с быстрым поиском, по крайней мере, похоже, его поддерживают) должны быть удовлетворены на уровне базы данных, но только если вы укажете, что это (я имею в виду базу данных, которую вы использование) ...
Выберите строки с правильными днями недели и opencol <текущее время и закрытие> текущее время? Если найдено, ресторан открыт. – yak
Возможный дубликат [Работа с датой в C#] (http://stackoverflow.com/questions/9317208/working-with-date-in-c-sharp) –