Java 判斷時分秒是否在時間段內
阿新 • • 發佈:2021-02-19
技術標籤:Java
例如判斷當前時分秒 14:40:33 是否在 13:00:00 - 21:30:00 時間段內:
/**
* 判斷時間是否在時間段內
*/
public static boolean belongCalendar(Date nowTime, Date beginTime, Date endTime) {
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
Calendar begin = Calendar.getInstance();
begin.setTime(beginTime);
Calendar end = Calendar.getInstance();
end.setTime(endTime);
return date.after(begin) && date.before(end);
}
/**
* 比較一個 HH:mm:ss 是否在一個時間段內
* 如:14:33:00 是否在 09:30:00 和 12:00:00 內
*/
public static boolean timeIsInRound(String str1, String start, String end) {
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
Date now = null;
Date beginTime = null;
Date endTime = null;
try {
now = df.parse(str1);
beginTime = df.parse(start);
endTime = df. parse(end);
} catch (Exception e) {
e.printStackTrace();
}
return belongCalendar(now, beginTime, endTime);
}
/**
* 14:33:00 是否在 09:30:00 - 12:00:00 內
*
* @param str1 14:33:00
* @param round 09:30:00 - 12:00:00
*/
public static boolean timeIsInRound(String str1, String round) {
String[] roundTime = round.split("-");
return timeIsInRound(str1, roundTime[0], roundTime[1]);
}
public static void main(String[] args) {
System.out.println(timeIsInRound("14:33:00", "13:00:00 - 21:30:00"));
}