【发布时间】:2023-04-09 13:04:02
【问题描述】:
我想节省公司的营业时间,我正在考虑为此使用位串。 想象一下公司 A 在星期一上午 8 点到 12 点(中午)和下午 1 点到下午 5 点开放将作为第 0 天(星期一)的位串
0000 0000 1111 0111 1000 0000
这使得将其保存在数据库中并检索它变得非常容易,而无需进行多次连接等。
然而,将用户输入解析到此位串确实变得复杂。 我想给用户 2 个选择列表来选择一个范围,他可以在其中选择开放时间和关闭时间(这里是上午 8 点到中午)。 然后可以复制这 2 个选择列表以创建第二个范围(此处为下午 1 点至下午 5 点)。
如果我可以将一个时间范围解析为一个位串(早上 8 点到中午),那么这些可以很容易地总结为一天的位串。
这就是我的问题。将时间范围解析为位串的最简单/最干净的方法是什么。
非常感谢任何帮助。
【问题讨论】:
-
为什么不直接保存为 DATETIME 类型?
-
如何将时间间隔保存为 DATETIME?示例:从 11:00->12:00 和 14:00->18:00
-
你不能在一个条目中做到这一点,但你可以使用两个并且一切都很好。
-
是的,但是当有 3 个间隔时呢?还是四个?我想要一个适用于所有情况的解决方案。这些位串就是这样做的
-
然后给它们编号。例如。列:
Day、Time、Order。然后你可以选择一整天,按订单栏排序
标签: php bit-manipulation