java功能实现在某个时间范围之内输出true,不在某个范围输出false,时间精确到分钟

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DateTimeChecker {

    private static final Logger log = LoggerFactory.getLogger(DateTimeChecker.class);

    /**
     * 检查当前时间是否在指定的小时和分钟范围内。
     *
     * @param startHour 开始小时(包含)
     * @param startMinute 开始分钟(包含)
     * @param endHour 结束小时(包含)
     * @param endMinute 结束分钟(包含)
     * @return 在范围内返回true,否则返回false。如果输入无效则返回null。
     */
    public static Boolean checkDateTimeInRange(Integer startHour, Integer startMinute, Integer endHour, Integer endMinute) {
        // 检查输入有效性
        if (startHour == null || startMinute == null || endHour == null || endMinute == null 
                || startHour < 0 || startHour > 23 
                || startMinute < 0 || startMinute > 59
                || endHour < 0 || endHour > 23
                || endMinute < 0 || endMinute > 59
                || startHour > endHour || (startHour == endHour && startMinute > endMinute)) {
            return null;
        }
        try {
            // 获取当前日期
            Calendar calendar = Calendar.getInstance();
            int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
            int currentMinute = calendar.get(Calendar.MINUTE);
            
            return (currentHour > startHour || (currentHour == startHour && currentMinute >= startMinute))
                    && (currentHour < endHour || (currentHour == endHour && currentMinute <= endMinute));
        } catch (Exception e) {
            log.error("判断当前时间是否在指定范围内(精确到分钟),checkDateTimeInRange,异常", e);
        }
        return null;
    }

    public static void main(String[] args) {
        // 测试代码,检查当前时间是否在8点30分到10点45分之间
        Boolean result = checkDateTimeInRange(8, 30, 10, 45);
        System.out.println(result != null && result ? "当前时间在范围内" : "当前时间不在范围内");
    }
}
这段代码通过直接的条件判断来确保所有输入参数都不为null,同时也检查了小时和分钟的取值是否有效。这是一种简单且广泛支持的替代方案,不需要额外的库依赖。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/852457.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主动元数据平台详解(下):BIG 十一问,详解定位、对接、血缘保鲜等问题

在上一篇文章中&#xff0c;我们围绕“算子级血缘解析技术”&#xff0c;全面介绍了 Aloudata BIG 主动元数据平台的核心能力及优势&#xff0c;帮助企业加速实现数据管理的“自治理”&#xff0c;推动企业的数智化运营进程。 本篇文章&#xff0c;我们盘点和整理了十一个同客户…

Vitis HLS 学习笔记--Vitis Accelerated Libraries介绍

1. 简介 Vitis Accelerated Libraries&#xff0c;包含很多现成的库&#xff0c;这些库都是开源的&#xff0c;也就是说代码是公开的&#xff0c;而且已经优化过&#xff0c;可以让程序运行得更快。你不需要改变太多你的代码&#xff0c;就能让你的程序速度提升。 这些库有很…

ROS 自动驾驶多点巡航

ROS 自动驾驶多点巡航&#xff1a; 1、首先创建工作空间&#xff1a; 基于我们的artca_ws&#xff1b; 2、创建功能包&#xff1a; 进入src目录&#xff0c;输入命令: catkin_create_pkg point_pkg std_msgs rospy roscpptest_pkg 为功能包名&#xff0c;后面两个是依赖&a…

H5的3D展示有可能代替PC传统3D展示么?

H5的3D展示技术正在快速发展&#xff0c;并且随着5G网络的普及和手机硬件性能的提升&#xff0c;H5的3D展示在某些方面已经能够接近甚至超越传统PC上的3D展示效果&#xff0c;比如 博维数孪 的渲染能力及效果。但H5和PC的3D展示互相之间是各有优势领域和行业支持&#xff0c;短…

齐普夫定律在循环神经网络中的语言模型的应用

目录 齐普夫定律解释公式解释图与公式的关系代码与图的分析结论 使用对数表达方式的原因1. 线性化非线性关系2. 方便数据可视化和分析3. 降低数值范围4. 方便参数估计公式详细解释结论 来自&#xff1a;https://zh-v2.d2l.ai/chapter_recurrent-neural-networks/language-model…

自动驾驶---Perception之视觉点云雷达点云

1 前言 在自动驾驶领域&#xff0c;点云技术的发展历程可以追溯到自动驾驶技术的早期阶段&#xff0c;特别是在环境感知和地图构建方面。 在自动驾驶技术的早期技术研究中&#xff0c;视觉点云和和雷达点云都有出现。20世纪60年代&#xff0c;美国MIT的Roberts从2D图像中提取3D…

避免在Homebrew更新时升级Maven

目录 一、简介二、问题背景三、解决步骤1. 查看当前安装的 Maven 版本2. 锁定 Maven 版本3. 验证 Maven 是否被锁定4. 忽略自动更新5. 解除 Maven 锁定&#xff08;如果需要&#xff09; 四、其他注意事项五、写在后面 一、简介 Homebrew 是 macOS 上一个非常流行的包管理器&a…

手把手教程本地调试Datax

背景&#xff1a;使用Datax做数仓同步数据得工具&#xff0c;有时需要自己开发或者修改某个reader或writer插件&#xff0c;那么本地调试就很重要。 一. 下载 从GitHub上下载或者clone下来Datax项目。 https://github.com/alibaba/DataX 找到Core模块&#xff0c;运行入口就…

上海市计算机学会竞赛平台2024年5月月赛丙组棋盘问题(二)

题目描述 给定一个 &#x1d45b;∗&#x1d45a;n∗m 的棋盘&#xff0c;你需要在棋盘上放置黑白两个不同的皇后&#xff0c;请问有多少种放置方法能够使两个皇后之间互相不能攻击对方&#xff1f; 象棋中的皇后可以沿所在行、列及对角线移动任意距离。 输入格式 输入共一…

React <> </>的用法

React &#xff1c;&#xff1e; &#xff1c;/&#xff1e;的用法 介绍为什么使用 <>&#xff1f;例子解释 关于顶级元素总结 介绍 在 React 中&#xff0c;使用 <> 表示一个空标签或片段&#xff08;Fragment&#xff09;&#xff0c;这是一个简洁的方式来包裹一…

黑苹果/Mac如何升级 Mac 新系统 Sequoia Beta 版

Mac升级教程 有必要提醒一下大家&#xff0c;开发者测试版系统一般是给开发者测试用的&#xff0c;可能存在功能不完善、部分软件不兼容的情况&#xff0c;所以不建议普通用户升级&#xff0c;如果实在忍不住&#xff0c;升级之前记得做好备份。 升级方法很简单&#xff1a; …

编程软件要怎么学好:深入剖析与高效学习之道

编程软件要怎么学好&#xff1a;深入剖析与高效学习之道 在数字化时代&#xff0c;编程技能已成为一项不可或缺的能力。而要学好编程软件&#xff0c;不仅需要扎实的编程基础&#xff0c;还需要掌握一定的学习策略和方法。本文将从四个方面、五个方面、六个方面和七个方面&…

windows 下 docker 入门

这里只是具体过程&#xff0c;有不清楚的欢迎随时讨论 1、安装docker &#xff0c;除了下一步&#xff0c;好像也没有其他操作了 2、安装好docker后&#xff0c;默认是运行在linux 下的&#xff0c;这时我们需要切换到windows 环境下&#xff0c; 操作&#xff1a;在右下角d…

Day03 运算符

1、符号运算符 ( ) [ ] . -> 圆括号 数组 成员选择&#xff08;对象&#xff09;——结构体、联合体 成员选择&#xff08;指针&#xff09;——结构体、联合体 2、符号运算符 - () -- * & …

知从科技获得ASPICE CL3认证证书

近日&#xff0c;知从科技正式通过Automotive SPICE CL3&#xff08;汽车软件过程改进及能力评定&#xff09;评估认证&#xff0c;这是继23年3月通过ASPICE CL2级评估的又一个重要里程碑。ASPICE CL3级是目前国内汽车软件领域最高的评估认证等级&#xff0c;这标志着知从科技的…

hw面试总结

在这里给大家推荐一个阿里云的活动&#xff0c;可白嫖一年2h4g服务器 活动链接&#xff1a;https://university.aliyun.com/mobile?clubTaskBizsubTask…11404246…10212…&userCodeks0bglxp 一、漏洞分析 1.SQL注入 原理&#xff1a; 当Web应用向后台数据库传递SQL…

Day04 C语言语句

目录 1、复合语句 2、表达式语句 3、选择分支语句 4、标签语句 5、跳转语句 6、循环&#xff08;迭代&#xff09;语句 用户一般会把实现某些功能的语句整合在一起&#xff0c;构成一个语法单元&#xff1b;C语言标准的语法单位也被称为块&#xff0c;称为块语句 1、复合…

C#|Maui|BootstrapBlazor|Bootstrap Blazor 组件库改模板 | Bootstrap Blazor 组件库改布局,该怎么改?

先copy一个项目下来&#xff1a;Bootstrap Blazor 组件库 一套基于 Bootstrap 和 Blazor 的企业级组件库 发现不是很满足我的需求&#xff0c;我要把右下角的admin移动到左边去&#xff0c;该怎么移动&#xff1f; 先改代码 点进去到Layout.razor 文档&#xff0c;改成如下&am…

净化机应用领域广泛 美国是我国净化机主要出口国

净化机应用领域广泛 美国是我国净化机主要出口国 净化机&#xff0c;又称为空气清洁设备或空气清新机&#xff0c;是一种专门设计用于滤除或杀灭空气污染物、提升空气清洁度的装置。净化机具备高效的过滤功能&#xff0c;能够滤除空气中的悬浮微粒、细菌、病毒和花粉等污染物&a…

C++ const关键字有多种用法举例

C const关键字有多种用法 可以用来修饰变量、指针、函数参数、成员函数等。可以看到const在C中有多种用法&#xff0c;主要用于保证数据的不可变性&#xff0c;增强代码的安全性和可读性。在实际编程中&#xff0c;根据需要选择适当的const用法&#xff0c;可以有效避免意外修…