求助,如何校验四个时段段是否有重复时间?


问题:如何校验四个时间段之间不存在重复时间

阅读 3.2k
2 个回答

这个字符串比较规则,不需要转数字也可以比较,如果不跨天的情况下,是可以直接比较的。

比较方法:看所有时间都不在其他时间范围内。范围比较建议用大于等于最小值,小于最大值来比较,这样 16:18 可以作为某段结束时间,表示 16:18 之前,不含 16:18;它也可以作为另一段开始时间,即 16:18 及以后。

如果跨天,就把时间生成两组,一组原值,一组在原值基础上每个加 24 小时。这种情况就要先转数字了。也不需要特别麻烦(不需要时间戳),去掉分号,再转成整数就行,比如 "16:18" 转成 1618,它在第二组中是加 24 小时,即 3018。然后再按上面的规则判断有没有重复就好了。

  • element-ui、ant-design组件库中都有选择时间后,自动将值转换为时间戳的方法
  • 根据比对时间戳大小来判断时间段是否覆盖、或者重复
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题