/**
* 判断某一时间是否在一个区间内
*
* @param sourceTime
* 时间区间,半闭合,如[10:00:00-20:00:00]
* @param curTime
* 需要判断的时间 如10:00:00
* @return
* @throws IllegalArgumentException
*/
public static boolean isInTimeForS(String sourceTime, String curTime) {
if (sourceTime == null || !sourceTime.contains("-") || !sourceTime.contains(":")) {
throw new IllegalArgumentException("Illegal Argument arg:" + sourceTime);
}
if (curTime == null || !curTime.contains(":")) {
throw new IllegalArgumentException("Illegal Argument arg:" + curTime);
}
String[] args = sourceTime.split("-");
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
try {
long now = sdf.parse(curTime).getTime();
long start = sdf.parse(args[0]).getTime();
long end = sdf.parse(args[1]).getTime();
if (args[1].equals("00:00:00")) {
args[1] = "24:00:00";
}
if (end < start) {
if (now >= end && now <= start) {
return false;
} else {
return true;
}
}
else {
if (now >= start && now <= end) {
return true;
} else {
return false;
}
}
} catch (ParseException e) {
e.printStackTrace();
throw new IllegalArgumentException("Illegal Argument arg:" + sourceTime);
}
}
时分秒时间段的区域判断
最新推荐文章于 2023-09-24 22:44:00 发布