我试图解决一个看似简单的问题,但就是无法完全理解。
我有两个时间 startTime
和 stopTime
,可以认为它们的格式为: hh:mm:ss
[24小时制]。
现在给定第三个时间 - timeToTest
- 我需要找出 timeToTest
是否在 startTime
和 stopTime
之间。除了时间以外,没有涉及任何日期信息。
例如 - 如果我有 startTime
= '22:30:00'
和 stopTime
= '03:30:00'
,那么对于 timeToTest
= '01:14:23'
,测试应该返回 true。
我尝试使用 java.util.Date
的解决方案,通过使用 getTime()
将时间转换为毫秒,但是在任何超过24小时的区间内,逻辑都会失败。
我正在尝试使用 Java 构建解决方案 - 但我相信这种逻辑是与语言无关的。
stopTime
的方法,当它小于startTime
时。然而,我面临的问题是-何时决定将一天添加到timeToTest
中。例如,当timeToTest
大于00:00:00
但小于stopTime
时,我应该将一天添加到timeToTest
中。但是当它小于00:00:00
时,我不应该这样做。 此外,由于我需要在数据集上运行此逻辑,我认为进行如此多的检查并创建新的日期对象可能会导致性能开销。 - anirvan