日常工作中我们可能会遇到这种情况
校验某个业务场景下的预约时间是否在我们预设的合理日期和时间范围,如判断时间是否在周一到周五的8:00到18:00 这个范围内,那么以下代码就能帮你解决这个问题:
/**
* 校验时间
* @param reservationTime 预约时间
* @param timePeriod 时间模版(包含,开始、结束、范围)
*/
private void checkTimePeriod(Date reservationTime, ServiceTimePeriod timePeriod) {
//校验日期与时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
Date dateNow = DateUtil.parseDate(DateUtil.format(reservationTime, "yyyy-MM-dd"));
Date startDate = DateUtils.parseDate(dateFormat.format(calendar.getTime()));
calendar.add(Calendar.DAY_OF_YEAR, timePeriod.getDays());//获取从今天起的日期区间最后一天
Date endDate = DateUtils.pars