废话不多说直接贴代码。

我的日期格式是 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. linux系统上用户态pppoe收发包过程

    花了几天看了一下ppp/pppoe有关的东西,画了一下用户态pppoe收发包的示意图.

  2. CSS的背景

    CSS的背景 1. 背景颜色background-color div { background-color: 颜色值; } 一般情况下元素背景颜色默认是transparent(透明). 2. 背景图片 ...

  3. 多测师讲解selenium _滚动条定位_高级讲师肖sir

    from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()drvier.get('http://www. ...

  4. day57 Pyhton 前端Jquery09

    内容回顾: - 筛选选择器 $('li:eq(1)')  查找匹配的元素 $('li:first') $('li:last') - 属性选择器 - 筛选的方法 - find()  查找后代的元素 - ...

  5. MySQL的事务与锁 转

    资料来源: 青山老师的mysql课程 丁奇老师的<MySQL45讲> 一.文章结构和思路 1.整体文章结构 2.大概思路 介绍数据库的特性: 数据库标准所制定的隔离级别和解决对应的一致性问 ...

  6. linux(centos8):firewalld使用ipset管理ip地址的集合

    一,firewalld中ipset的用途: 1,用途 ipset是ip地址的集合, firewalld使用ipset可以在一条规则中处理多个ip地址, 执行效果更高 ​对ip地址集合的管理也更方便 2 ...

  7. ffmpeg实现视频转gif及gif缩放(ffmpeg4.2.2)

    一,为什么选择ffmpeg处理gif? 1,ffmpeg可以从视频中截取gif 2,ffmpeg在缩放gif时出错的机率较低, 而imagemagick在缩放gif时容易出错 我们在后面的例子中可以看 ...

  8. python GDAL 读写shp文件

    gdal包用于处理栅格数据,ogr用于处理矢量数据. 1 #!C:\Program Files\pythonxy\python\python.exe 2 #-*- coding:gb2312 -*- ...

  9. Linux运维学习第六周记

    四月上夏渐热 善疗也须调摄 文殊眼裹抽筋 金刚脑后拔楔 网络的世界让人变得不那么真实! 第六周学记 用了一周的时间学习了计算机网络基础知识,说是基础,更应该说是必备的常识! 网络的协议和管理 TCP/ ...

  10. java并发与多线程面试题与问题集合

    http://www.importnew.com/12773.html     https://blog.csdn.net/u011163372/article/details/73995897    ...