当前位置: 首页 > 面试题库 >

如何检查时间是否在特定范围之间?

夏祯
2023-03-14
问题内容

我需要检查当前时间是否在8 AM和3 PM之间。如果在这些时间范围之间,那么我需要返回yes,否则返回false。

boolean isNowBetweenDateTime(final Date s, final Date e) {
    final Date now = new Date();
    return now.after(s) && now.before(e);
}

但是我不确定我应该在Date这里使用吗?我可以不使用时间戳并相应地检查时间戳吗?什么是正确的方法?

我仍在使用Java 7。


问题答案:

如果您使用的是Java 8之前的Java版本,请查看Joda的API文档。

具体来说,有一个AbstractInterval#containsNow()方法可让您执行所需的操作。

例如:

new Interval(start, end).containsNow();

其中start和end可以是许多不同值/对象中的任何一个。请参阅有关可用的不同构造函数的文档:时间间隔

您可以将方法修改如下:

boolean isNowBetweenDateTime(final DateTime s, final DateTime e) {
    return new Interval(s, e).containsNow();
}

就是说,这只是一行,所以您实际上不需要用自己的方法包装它:)

再次查看文档。Interval构造函数可以采用各种对象/值,因此请选择适合您需要的对象/值。我建议使用DateTime,因为它似乎可以最好地描述您要执行的操作。



 类似资料:
  • 问题内容: 嗨,我正在尝试检查当前时间是否在某个时间范围内,例如8:00-16:30。下面的代码显示可以将当前时间作为字符串获取,但是不确定如何使用此值来检查它是否在上面指定的时间范围内。任何帮助将不胜感激! 问题答案: 有很多方法可以做到这一点。就我个人而言,如果可以避免的话,我不喜欢使用字符串。我宁愿处理日期组件。 下面的代码创建的日期为8:00和16:30,然后比较日期以查看当前日期/时间是

  • 问题内容: 如果有和,如何检查用户给出的日期是否在该范围内? 例如 目前日期是字符串,将它们转换为时间戳整数是否有帮助? 问题答案: 使用strtotime将它们转换为时间戳是正确的方法,例如

  • 问题内容: 有没有一种方法可以在不执行此冗余代码的情况下测试范围: ? 就像一个函数: 用法: ? PHP是否具有这种内置功能?还是其他方式可以做到? 问题答案: 我认为您不会获得比您的功能更好的方法。 它是干净的,易于遵循和理解的,并返回条件的结果(无混乱)。

  • 问题内容: 我有一系列包含开始日期和结束日期的范围。我想检查日期是否在该范围内。 和似乎有点尴尬。我真正需要的是这样的伪代码: 不确定是否相关,但是我从数据库中提取的日期带有时间戳。 问题答案: 对我来说似乎并不尴尬。请注意,我是这样写的,而不是 因此,即使testDate与以下几种情况之一完全相同,它也可以正常工作。

  • 问题内容: 我确信这在1000个不同的地方完成了1000次。问题是我想知道是否有更好/标准/更快的方法来检查当前“时间”是否在格式指定的两个时间值之间。例如,我的大业务逻辑不应在之间运行。所以这就是我的想法: 示例测试用例: 我正在寻找的是更好的代码 在表现 在外观上 正确地 我不想要的 第三方库 异常处理辩论 变量命名约定 方法修饰符问题 问题答案: 这就是您需要做的所有事情,此方法与输入松散耦

  • 我有一个看起来像这样的数据帧(Dataframe X): 我有另一个数据框,如下所示(数据帧 Y): 我想做的是:对于Dataframe X“数字”列中的每个值,搜索它是否等于或介于Dataframe Y的“数字1”和“数字2”对值的任何值之间。此外,对于这个“数字1”和“数字2”对值,其各自的“id”必须与Dataframe X中的“id”匹配。如果这都是真的,那么我想在Dataframe X中