【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 ...
随机推荐
- 实验三 HTML表格和表单的制作
实验三 HTML表格和表单的制作 [实验目的] 1.掌握表格的创建.结构调整与美化方法: 2.熟悉表格与单元格的主要属性及其设置方法: 3.掌握通过表格来进行网页页面的布局方法. [实验环境] 连接互 ...
- 为什么C语言是最适合单片机编程的高级语言!
为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python等等,为什么这些语言不能用来编写单片机程序呢?那么这个问 ...
- rpm|yum安装的查看安装路径
[root@localhost src]# rpm -qa|grep grafanagrafana-7.1.0-1.x86_64[root@localhost src]# rpm -ql grafan ...
- mac安装go环境
下载pkg文件 https://golang.google.cn/dl/ sudo vim /etc/profile export GOROOT=/usr/local/go export GOPA ...
- deepin vue安装步骤
deepin安装node.js sudo wget https://nodejs.org/dist/v9.2.0/node-v9.2.0-linux-x64.tar.xz tar xJf node-v ...
- Spring官方都推荐使用的@Transactional事务,为啥我不建议使用!
GitHub 17k Star 的Java工程师成神之路,不来了解一下吗! GitHub 17k Star 的Java工程师成神之路,真的不来了解一下吗! GitHub 17k Star 的Java工 ...
- solr之functionQuery(函数查询)【转】
函数查询 让我们可以利用 numeric域的值 或者 与域相关的的某个特定的值的函数,来对文档进行评分. 怎样使用函数查询 这里主要有两种方法可以使用函数查询,这两种方法都是通过solr http 接 ...
- 【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
问题情形 使用Python SDK在连接到数据库后,连接数据库获取数据成功,但是在Pandas中用 to_sql 反写会数据库时候报错.错误信息为:ProgrammingError: ('42000' ...
- zabbix自定义脚本监控服务器端口状态
zabbix可以通过客户端的[net.tcp.port[<ip>,port]]该item监控项来判断本地/远程服务器TCP端口是否正常,不过当时没有想起来,就用了自定义脚本去写的,很久没有 ...
- s == t 何解?
Integer s=new Integer(9); Integer t=new Integer(9); Long u=new Long(9); (s==t) 这个是错的,只要有new这个关键字 ...