寄语:明日复明日明日何其多
用处:判断一个时间是否在某段时间内 ,执行对应操作
所需包简介
Java日期和时间类简介
Java 的日期和时间类位于 java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。
Calendar 类
抽象类 Calendar 提供了一组方法,允许把以毫秒为单位的时间转换成一些有用的时间组成部分
Calendar
提供了一个类方法 getInstance
,以获得此类型的一个通用的对象。Calendar
的 getInstance
方法返回一个 Calendar
对象,其日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance();
示例:
查询当前时间,是否在今天的8:30 至 下午 17:30 之间
步骤:
- 获取当前时间 yyyy-MM-dd
- 拼接开始和结束时间
- 拼接时间转成Date类型
- 调用Calendar的after和befare判断
- 如果在执行操作,反之不进行操作
package cn.bdqn.mybatiesplus.inteceptor; import javax.xml.crypto.Data; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.StringJoiner; public class MyCalendar { public boolean getIstrue(){ //1.获取当前时间 yyyy-MM-dd SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String format = simpleDateFormat.format(new Date());//获取当前时间 //2拼接开始和结束时间 StringJoiner sjBegin = new StringJoiner(" "); sjBegin.add("08:30:00"); StringJoiner sjEnd = new StringJoiner(" "); sjEnd.add("17:30:00"); //3.拼接时间转成Date类型 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date beginData = null; Date endData = null; try { beginData = sdf.parse(sjBegin.toString()); endData= sdf.parse(sjEnd.toString()); } catch (ParseException e) { e.printStackTrace(); } //4.调用Calendar的after和befare判断 Calendar now = Calendar.getInstance();//初始化对象 now.setTime(new Date()); Calendar begin = Calendar.getInstance(); begin.setTime(beginData); Calendar end = Calendar.getInstance(); begin.setTime(endData); if(now.after(begin) && now.before(end)){//在之前,且之后返回true return true; }else { return false; } } }