php比较营业时间,使用php以人类可读格式从数据库表打印餐厅营业时间

你想每天结合一堆间隔.坚持24小时格式(实际上我将其转换为秒),直到你必须将其转换为人性化的格式.

麻烦的是,当你允许几秒钟时…一个提前1秒钟关闭的餐馆将被遗漏:(也许你需要允许15或5分钟的增量.如果你不得不在数据库中舍入数据.那么,方法是:使用间隔数据结构,将给定日期的所有间隔合并在一起.现在反转字典.而不是将天数映射到间隔,将间隔映射到天.现在找到一种方法来智能地表示这些天组.例如,set( 1,2,3)可以显示为“MW”,所以我建议:对于集合{1,2,3,4,5,6,7}(或{1,2,3, 4,5})找到最好的人类表示(手工).现在对这个逻辑进行硬编码 – 将其保存到字典中,该字典将排序后的字符串(这很重要)(例如“1235”)映射到人类表示,例如“MW” ,F“.显示1-3,5-8很容易,一旦你使用间隔对象,如上面的链接所述.祝你好运!让我知道你遇到了什么问题.

编辑:

这不是他们拥有的最好的例子(不显示重叠间隔的联合),但是你关心“|”操作者

unioned:

>>> interval[1, 4] | interval[2, 5]

interval([1.0, 5.0])

>>> interval[1, 2] | interval[4, 5]

interval([1.0, 2.0], [4.0, 5.0])

你可以自己实现这个类,但它可能容易出错.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值