废话不多说直接贴代码。

我的日期格式是 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】校验当前时间是否在规定的时间内的更多相关文章

  1. 身份证校验,前台js校验,后台java校验

    js校验: var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内 ...

  2. [Java]Java日期及时间库插件 -- Joda Time.

    来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...

  3. java学习第13天( java获取当前时间,有关大数据的运算及精确数字运算,Date类)

    一 java获取当前时间 学习一个函数,得到当前时间的准确值 System.currectTimeMillis(). 可以得到以毫秒为单位的当前时间.它主要用于计算程序运行时间,long start= ...

  4. 【转】JAVA 8 日期/时间(Date Time)API指南

    前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...

  5. Java最重要的21个技术点和知识点之JAVA多线程、时间处理、数据格式

    (四)Java最重要的21个技术点和知识点之JAVA多线程.时间处理.数据格式  写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能 ...

  6. 【MySQL】Java对SQL时间类型的操作(获得当前、昨天、前年。。时间)

    Java获得当前时间 java.util.Date date = new java.util.Date(); Timestamp time = new Timestamp(date.getTime() ...

  7. Java json设置时间格式,Jackson设置时间格式,json设置单引号

    Java json设置时间格式,Jackson设置时间格式,json设置单引号 >>>>>>>>>>>>>>> ...

  8. JAVA中的时间操作

    java中的时间操作不外乎这四种情况: 1.获取当前时间 2.获取某个时间的某种格式 3.设置时间 4.时间的运算 好,下面就针对这四种情况,一个一个搞定. 一.获取当前时间 有两种方式可以获得,第一 ...

  9. Java中日期时间API小结

    Java中为处理日期和时间提供了大量的API,确实有把一件简单的事情搞复杂的嫌疑,各种类:Date Time Timestamp Calendar...,但是如果能够看到时间处理的本质就可以轻松hol ...

随机推荐

  1. 手把手教你AspNetCore WebApi:Serilog(日志)

    前言 小明目前已经把"待办事项"功能实现了,API文档也搞定了,但是马老板说过,绝对不能让没有任何监控的项目上线的. Serilog是什么? 在.NET使用日志框架第一时间会想到N ...

  2. Mybatis的学习

    mybatis: 1.初识mybatis mybatis是一个数据库框架. 1.导包 <dependency> <groupId>org.mybatis</groupId ...

  3. mycat 1.6实现读写分离

    使用mysql的root账号执行mysql>grant all privileges on *.* to mycatuser@% identified by '123456';mysql> ...

  4. 多测师讲解自动化--rf关键字--断言(下)_高级讲师肖sir

    断言: 1.1Page Should Contain Maximize Browser Window sleep 2 Comment Page Should Contain hao123 #断言当前页 ...

  5. 基于python实现二叉树的遍历

    """ 二叉树实践: 用递归构建树的遍历 # 思路分析 -- 1.使用链式存储,一个Node表示一个数的节点 -- 2.节点考虑使用两个属性变量,分别表示左连接右连接 & ...

  6. Get提交方式中文乱码

    Get提交方式中文乱码 今天在servlet使用中,在Get方法中获取提交的中文参数,发现是乱码,我用的是Tomcat7. 在Tomcat9中: get方式的参数是放在请求头中,而Tomcat9对请求 ...

  7. 【原创】xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程

    版权声明:本文为本文为博主原创文章,转载请注明出处.如有问题,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 1.概述 上篇文章xenomai内核解析--实时IP ...

  8. 利用RNN进行中文文本分类(数据集是复旦中文语料)

    利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) 1.训练词向量 数据预处理参考利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) ,现在我们有了分词 ...

  9. 面经分享:看非科班研究生如何转行斩获 ATM 大厂的 Offer ?

    前言 先介绍一下自己的情况吧,本科和研究生都是通信专业,本科是某 Top2,研究生是香港某大学.了解了通信行业的就业情况和工作内容后,大概今年3月份的时候开始想转互联网. 本人相关的基础情况是:学校学 ...

  10. 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)

    问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...