一个开始时间一个结束时间,还有一个当前时间,都是String格式的,比如:11:59,怎么做一个比较判断当前时间在不在开始时间和结束时间范围内?
通过类型转换判断:
格式可根据实际调整
String startTime = "12:00"; // 2023-03-07 12:00:00
String endTime = "23:59"; // 2023-03-07 23:59:59
String nowTime = "11::59"; // 2023-03-07 11:59:00
DateFormat format = new SimpleDateFormat("HH:mm"); // yyyy-MM-dd HH:mm:ss
try {
if (format.parse(nowTime).getTime() > format.parse(startTime).getTime() && format.parse(nowTime).getTime() < format.parse(endTime).getTime() ) {
// do something
System.out.println("在开始时间和结束时间范围内");
} else {
System.out.println("不在开始时间和结束时间范围内");
}
} catch (ParseException e) {
e.printStackTrace();
}
办法有很多
1.先转时间戳再比较大小
2.如果时间都是yyyy-mm-dd这种标准格式,那么时间大时代表时间的字符串也必定大,直接比较字符串大小即可