2024-05-16 00:28:48 发布
网友
我在数据库中有两列以这种格式显示的餐馆的营业时间和关门时间
opencol:00:00 closecol:24:00 weekday:1, opencol:23:00,closecol:02:00 weekday:2 etc.
有些餐馆在同一个星期有两个记录
我的用例是根据当前时间来判断一家餐厅是否营业?如何处理以上两种情况?在
获取当前时间(当然,用一个很好的函数/方法包装起来):
from datetime import datetime d = datetime.now() weekday = int(d.strftime("%w")) hours = int(d.strftime("%H") minutes = int(d.strftime("%M")
然后使用SQL查询执行以下操作:
根据您的其他数据,您可能还需要使用分钟,但是使用您提供的数据可以缩短这种情况。在
^{}模块提供了您所需的一切。在
>>> import datetime >>> now = datetime.datetime.now() >>> now datetime.datetime(2012, 2, 18, 20, 38, 53, 271145)
您可以使用^{}获取当前工作日。在
获取数据库值并将它们放入^{}对象中(您可以解决如何处理,应该不难理解;strptime可能就是您需要的)。在
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处理的;大多数用例(对工作日的业务不太确定,尽管通过快速搜索至少有几个似乎支持它)应该能够在数据库级别得到满足,但前提是必须指定(我指的是您正在使用的数据库)是什么。。。在
获取当前时间(当然,用一个很好的函数/方法包装起来):
然后使用SQL查询执行以下操作:
^{pr2}$根据您的其他数据,您可能还需要使用分钟,但是使用您提供的数据可以缩短这种情况。在
^{} 模块提供了您所需的一切。在
您可以使用^{} 获取当前工作日。在
^{pr2}$获取数据库值并将它们放入^{} 对象中(您可以解决如何处理,应该不难理解;
strptime
可能就是您需要的)。在一些示例数据:
然后,比较时间:
现在不开门(因为现在是晚上8点38分)。在
当然,一旦您需要比较多个值,它会变得更加复杂,但这只是一个简单的迭代问题;更困难的是您的值跨越多天,因为您的示例数据似乎表明您可能有。但一旦你掌握了基本知识,这些就不难理解了。在
请注意,这一切都是用Python处理的;大多数用例(对工作日的业务不太确定,尽管通过快速搜索至少有几个似乎支持它)应该能够在数据库级别得到满足,但前提是必须指定(我指的是您正在使用的数据库)是什么。。。在
相关问题 更多 >
编程相关推荐