失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java时间处理--判断当前时间是否在一个时间区间内

java时间处理--判断当前时间是否在一个时间区间内

时间:2022-05-19 09:24:50

相关推荐

java时间处理--判断当前时间是否在一个时间区间内

1)将当前时间转为和需要判断的时间区间相同格式的时间

例如判断当前时间是否在HH:mm的时间区间内(例时间区间0点到6点 [00:06])

StringstrStartTime = "0:00";

StringstrEndTime = "6:00";

当前时间需转为HH:mm的时间格式:

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");

String now = sdf.format(new Date());

//HH:mm格式的当前时间

Date nowTime = sdf.parse(now);

//时间区间String转Date

Date startTime = sdf.parse(strStartTime);

Date endTime = sdf.parse(strEndTime);

2)调用isEffectiveDate(Date nowTime, Date startTime, Date endTime) 方法

在区间内返回true ,不在区间内返回false

代码如下:

/*** 判断当前时间是否在[startTime, endTime]区间,注意三个参数的时间格式要一致* @param nowTime* @param startTime* @param endTime* @return 在时间段内返回true,不在返回false*/public static boolean isEffectiveDate(Date nowTime, Date startTime, Date endTime) {if (nowTime.getTime() == startTime.getTime()|| nowTime.getTime() == endTime.getTime()) {return true;}Calendar date = Calendar.getInstance();date.setTime(nowTime);Calendar begin = Calendar.getInstance();begin.setTime(startTime);Calendar end = Calendar.getInstance();end.setTime(endTime);return date.after(begin) && date.before(end);}public static void main(String[] args) {/*** 判断当前时间是否在一个时间段内 HH:mm 格式*/String strStartTime1 = "00:00";String strEndTime1 = "6:00";SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");String now = sdf.format(new Date());Date nowTime;try{nowTime = sdf.parse(now);Date startTime1 = sdf.parse(strStartTime1);Date endTime1 = sdf.parse(strEndTime1);// 注:也可以通过此方式判断当前时间是否具体时间段内 yyyy-MM-dd HH:mm:ss格式 [-03-09 12:00:00,-03-10 15:00:00]// 当前时间和时间段的格式保持一致即可判断if (isEffectiveDate(nowTime, startTime1, endTime1)) {System.out.println("当前时间在时间段内["+strStartTime1+","+strEndTime1+"]");} else {System.out.println("当前时间不再时间段内["+strStartTime1+","+strEndTime1+"]");}}catch (Exception e){e.printStackTrace();}}

如果觉得《java时间处理--判断当前时间是否在一个时间区间内》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。