Java中判断当前时间是否在某个时间之前、之后以及时间段之间
1、编写方法
- Calendar类用于对日期操作处理,该类是个抽象类,不能通过new来获得实例,但可以通过getInstance方法返回一个Calendar对象;
- getInstance()方法用于使用系统的当前时区和区域设置获取日历;
- Calendar类也提供了before(),after()等方法。
//创建一个方法
private static void getDate(Date date1, Date date2){
//获取当前时间
Calendar date = Calendar.getInstance();
date.setTime(new Date());
//获取开始时间
Calendar begin = Calendar.getInstance();
begin.setTime(date1);
//获取结束时间
Calendar end = Calendar.getInstance();
end.setTime(date2);
if (date.before(begin)){
System.out.println("当前时间在开始时间之前");
}
if (date.after(end)){
System.out.println("当前时间在结束时间之后");
}
if ((date.after(begin) && date.before(end)) ||
(date.getTime() == begin.getTime() || date.getTime() == end.getTime())) {
System.out.println("当前时间在开始时间与结束时间之间");
}
}
2、测试
- SimpleDateFormat 类是DateFormat 类的子类;
- 使用 SimpleDateFormat 类格式化指定时间;
- parse()方法将String格式转换为Date。
public static void main(String[] args) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//String转Date
Date begin = dateFormat.parse("2021-11-08 12:22:22");
Date end = dateFormat.parse("2021-11-11 23:11:12");
//调用方法
getDate(begin,end);
}
3、运行结果