项目片段记录:
规定时间可以分好几个时间段也可以不分,根据需求修改timeCalendar部分就好。我分了两段(上午跟下午的)
//判断是否在规定的时间内签到 nowTime 当前时间 beginTime规定开始时间 endTime规定结束时间
public static boolean timeCalendar(Date nowTime, Date amBeginTime, Date amEndTime, Date pmBeginTime, Date pmEndTime) {
//设置当前时间
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
//设置开始时间
Calendar amBegin = Calendar.getInstance();
amBegin.setTime(amBeginTime);//上午开始时间
Calendar pmBegin = Calendar.getInstance();
pmBegin.setTime(pmBeginTime);//下午开始时间
//设置结束时间
Calendar amEnd = Calendar.getInstance();
amEnd.setTime(amEndTime);//上午结束时间
Calendar pmEnd = Calendar.getInstance();
pmEnd.setTime(pmEndTime);//下午结束时间
//处于开始时间之后,和结束时间之前的判断
if ((date.after(amBegin) && date.before(amEnd)) || (date.after(pmBegin) && date.before(pmEnd))) {
return true;
} else {
return false;
}
}
//@RequestMapping("leaveSignIn")
//public Result<String> LeaveSignIn(@RequestBody Worker worker,HttpServletRequest request) throws ParseException {
@Test
public void LeaveSignIn() throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("HH:mm");//设置日期格式
Date nowTime =df.parse(df.format(new Date()));
//上午的规定时间
Date amBeginTime = df.parse("10:00");
Date amEndTime = df.parse("11:00");
//下午的规定时间
Date pmBeginTime = df.parse("15:00");
Date pmEndTime = df.parse("16:00");
//调用判断方法是否在规定时间段内
boolean isTime = timeCalendar(nowTime, amBeginTime, amEndTime,pmBeginTime,pmEndTime);
if(isTime){
//处于规定的时间段内
System.out.println(isTime);
}else{
//不处于规定的时间段内
System.out.println(isTime);
}
//return Result.SUCCESS;
}
重新休整了一下
package com.ruoyi.web.controller.utils;
import org.springframework.context.annotation.Configuration;
import java.util.Calendar;
import java.util.Date;
/**
* 判断时间是否在某个时间段之内
* @author tfSun
*/
@Configuration
public class EffectiveTimeUtil {
/**
* 上午下午两个时间段
* @param nowTime
* @param amBeginTime
* @param amEndTime
* @param pmBeginTime
* @param pmEndTime
* @return boolean
*/
//判断是否在规定的时间内签到 nowTime 当前时间 beginTime规定开始时间 endTime规定结束时间
public static boolean timeCalendar(Date nowTime, Date amBeginTime, Date amEndTime, Date pmBeginTime, Date pmEndTime) {
//设置当前时间
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
//设置开始时间
Calendar amBegin = Calendar.getInstance();
amBegin.setTime(amBeginTime);//上午开始时间
Calendar pmBegin = Calendar.getInstance();
pmBegin.setTime(pmBeginTime);//下午开始时间
//设置结束时间
Calendar amEnd = Calendar.getInstance();
amEnd.setTime(amEndTime);//上午结束时间
Calendar pmEnd = Calendar.getInstance();
pmEnd.setTime(pmEndTime);//下午结束时间
//处于开始时间之后,和结束时间之前的判断
if((date.after(amBegin) && date.before(amEnd)) || (date.after(pmBegin) && date.before(pmEnd))) {
return true;
} else {
return false;
}
}
/**
* 只有一个时间段
* @param nowTime
* @param beginTime
* @param endTime
* @return boolean
*/
//判断是否在规定的时间内签到 nowTime 当前时间 beginTime规定开始时间 endTime规定结束时间
public static boolean timeCalendar(Date nowTime, Date beginTime, Date endTime) {
//设置当前时间
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
//设置开始时间
Calendar begin = Calendar.getInstance();
begin.setTime(beginTime);//开始时间
//设置结束时间
Calendar end = Calendar.getInstance();
end.setTime(endTime);//上午结束时间
//处于开始时间之后,和结束时间之前的判断
if((date.after(begin) && date.before(end))) {
return true;
} else {
return false;
}
}
/**
* 在时间段之后
* @param nowTime
* @param beginTime
* @return boolean
*/
//判断是否在规定的时间内签到 nowTime 当前时间 beginTime规定开始时间 endTime规定结束时间
public static boolean afterTimeCalendar(Date nowTime, Date beginTime) {
//设置当前时间
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
//设置开始时间
Calendar begin = Calendar.getInstance();
begin.setTime(beginTime);//开始时间
//处于开始时间之后,和结束时间之前的判断
if(( date.after(begin))) {
return true;
} else {
return false;
}
}
/**
* 在时间段之前
* @param nowTime
* @param beginTime
* @return boolean
*/
//判断是否在规定的时间内签到 nowTime 当前时间 beginTime规定开始时间 endTime规定结束时间
public static boolean beforeTimeCalendar(Date nowTime, Date beginTime) {
//设置当前时间
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
//设置开始时间
Calendar begin = Calendar.getInstance();
begin.setTime(beginTime);//开始时间
//处于开始时间之后,和结束时间之前的判断
if(( date.before(begin))) {
return true;
} else {
return false;
}
}
}