【java】校验当前时间是否在规定的时间内
废话不多说直接贴代码。
我的日期格式是 8:00-22:00
要用的自己换下格式哈。
public class CheckClosingTimeUtil {
    /**
     * 校验当前时间是否在规定时间内
     * @param businessHours 某商店营业时间或者是别的
     * @return  true:在规定时间 false:未在规定时间
     */
    public static boolean checkClosingTime(String businessHours){
        if(StringUtils.isNotBlank(businessHours)){
            BulidBusinessHours bulidBusinessHours = new BulidBusinessHours(businessHours).invoke();
            long start = bulidBusinessHours.getStart();
            long end = bulidBusinessHours.getEnd();
            Calendar currentTime = Calendar.getInstance();
            long current = currentTime.getTimeInMillis();
            if(current>start && current<end){
                return true;
            }else{
                return false;
            }
        }
        return false;
    }
    /**
     * 校验当前时间是否在规定时间内2
     * @param businessHours 某商店营业时间或者是别的
     * @param current 单位;当前时间 - 毫秒级
     * @return
     */
    public static boolean checkClosingTime(String businessHours,long current){
        if(StringUtils.isNotBlank(businessHours)){
            BulidBusinessHours bulidBusinessHours = new BulidBusinessHours(businessHours).invoke();
            long start = bulidBusinessHours.getStart();
            long end = bulidBusinessHours.getEnd();
            if(current>start && current<end){
                return true;
            }else{
                return false;
            }
        }
        return false;
    }
    private static class BulidBusinessHours {
        private String businessHours;
        private long start;
        private long end;
        public BulidBusinessHours(String businessHours) {
            this.businessHours = businessHours;
        }
        public long getStart() {
            return start;
        }
        public long getEnd() {
            return end;
        }
        public BulidBusinessHours invoke() {
            List<String> businessTime = Arrays.asList(businessHours.split("-"));
            List<String> startBusinessTime = Arrays.asList(businessTime.get(0).split(":"));
            List<Integer> startTime = startBusinessTime.stream().map(e -> Integer.valueOf(e)).collect(Collectors.toList());
            List<String> endBusinessTime = Arrays.asList(businessTime.get(1).split(":"));
            List<Integer> endTime = endBusinessTime.stream().map(e -> Integer.valueOf(e)).collect(Collectors.toList());
            Calendar drugstoreStartTime = Calendar.getInstance();
            drugstoreStartTime.set(Calendar.HOUR_OF_DAY, startTime.get(0));
            drugstoreStartTime.set(Calendar.MINUTE, startTime.get(1));
            drugstoreStartTime.set(Calendar.SECOND, 0);
            start = drugstoreStartTime.getTimeInMillis();
            Calendar drugstoreEndTime = Calendar.getInstance();
            drugstoreEndTime.set(Calendar.HOUR_OF_DAY, endTime.get(0));
            drugstoreEndTime.set(Calendar.MINUTE, endTime.get(1));
            drugstoreEndTime.set(Calendar.SECOND, 0);
            end = drugstoreEndTime.getTimeInMillis();
            return this;
        }
    }
}
【java】校验当前时间是否在规定的时间内的更多相关文章
- 身份证校验,前台js校验,后台java校验
		
js校验: var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内 ...
 - [Java]Java日期及时间库插件 -- Joda Time.
		
来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...
 - java学习第13天( java获取当前时间,有关大数据的运算及精确数字运算,Date类)
		
一 java获取当前时间 学习一个函数,得到当前时间的准确值 System.currectTimeMillis(). 可以得到以毫秒为单位的当前时间.它主要用于计算程序运行时间,long start= ...
 - 【转】JAVA 8 日期/时间(Date Time)API指南
		
前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...
 - Java最重要的21个技术点和知识点之JAVA多线程、时间处理、数据格式
		
(四)Java最重要的21个技术点和知识点之JAVA多线程.时间处理.数据格式 写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能 ...
 - 【MySQL】Java对SQL时间类型的操作(获得当前、昨天、前年。。时间)
		
Java获得当前时间 java.util.Date date = new java.util.Date(); Timestamp time = new Timestamp(date.getTime() ...
 - Java json设置时间格式,Jackson设置时间格式,json设置单引号
		
Java json设置时间格式,Jackson设置时间格式,json设置单引号 >>>>>>>>>>>>>>> ...
 - JAVA中的时间操作
		
java中的时间操作不外乎这四种情况: 1.获取当前时间 2.获取某个时间的某种格式 3.设置时间 4.时间的运算 好,下面就针对这四种情况,一个一个搞定. 一.获取当前时间 有两种方式可以获得,第一 ...
 - Java中日期时间API小结
		
Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hol ...
 
随机推荐
- 手把手教你AspNetCore WebApi:Serilog(日志)
			
前言 小明目前已经把"待办事项"功能实现了,API文档也搞定了,但是马老板说过,绝对不能让没有任何监控的项目上线的. Serilog是什么? 在.NET使用日志框架第一时间会想到N ...
 - Mybatis的学习
			
mybatis: 1.初识mybatis mybatis是一个数据库框架. 1.导包 <dependency> <groupId>org.mybatis</groupId ...
 - mycat 1.6实现读写分离
			
使用mysql的root账号执行mysql>grant all privileges on *.* to mycatuser@% identified by '123456';mysql> ...
 - 多测师讲解自动化--rf关键字--断言(下)_高级讲师肖sir
			
断言: 1.1Page Should Contain Maximize Browser Window sleep 2 Comment Page Should Contain hao123 #断言当前页 ...
 - 基于python实现二叉树的遍历
			
""" 二叉树实践: 用递归构建树的遍历 # 思路分析 -- 1.使用链式存储,一个Node表示一个数的节点 -- 2.节点考虑使用两个属性变量,分别表示左连接右连接 & ...
 - Get提交方式中文乱码
			
Get提交方式中文乱码 今天在servlet使用中,在Get方法中获取提交的中文参数,发现是乱码,我用的是Tomcat7. 在Tomcat9中: get方式的参数是放在请求头中,而Tomcat9对请求 ...
 - 【原创】xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
			
版权声明:本文为本文为博主原创文章,转载请注明出处.如有问题,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 1.概述 上篇文章xenomai内核解析--实时IP ...
 - 利用RNN进行中文文本分类(数据集是复旦中文语料)
			
利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) 1.训练词向量 数据预处理参考利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) ,现在我们有了分词 ...
 - 面经分享:看非科班研究生如何转行斩获 ATM 大厂的 Offer ?
			
前言 先介绍一下自己的情况吧,本科和研究生都是通信专业,本科是某 Top2,研究生是香港某大学.了解了通信行业的就业情况和工作内容后,大概今年3月份的时候开始想转互联网. 本人相关的基础情况是:学校学 ...
 - 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)
			
问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...