首页 > 解决方案 > 如何找出 HH:MM 的当前时间是否在两个区间 HH:MM - HH:MM

问题描述

数据库中有两个日期,开盘日期 (HH:MM) 和关盘日期 (HH:MM),例如 07:00(开盘) - 20:00(关盘)或 07:00 - 03:00

有必要在以下期间正确确定日期:

例子:

有一个机构07:00开门,23:00关门,现在是20:00,怎么知道这个机构现在开不开门?

或 07:00 开门,03:00(次日)关门,现在 20:00

或22:00开门,07:00(次日)关门,现在02:00

或22:00开门,07:00(次日)关门,现在23:00

标签: phpmysql

解决方案


检查这个查询。@now 仅用于测试。您必须稍后将其更改为 NOW()

这里有一个样本

SELECT @now := '14:00:01';

SELECT *,
  if( open_time < close_time
     , if( @now >= open_time and @now <= close_time , 'in period' , 'out period')
     , if( @now >= open_time or @now <= close_time , 'in period' , 'out period'))
as period
FROM docs;

推荐阅读