Я уверен, что это было сделано 1000 раз в 1000 разных местах. Вопрос в том, хочу ли я знать, есть ли лучший/стандартный/более быстрый способ проверить, существует ли текущее "время" между двумя значениями времени, указанными в формате hh:mm:ss
. Например, моя большая бизнес-логика не должна работать между 18:00:00 and 18:30:00
. Итак, вот что я имел в виду:
public static boolean isCurrentTimeBetween(String starthhmmss, String endhhmmss) throws ParseException{
DateFormat hhmmssFormat = new SimpleDateFormat("yyyyMMddhh:mm:ss");
Date now = new Date();
String yyyMMdd = hhmmssFormat.format(now).substring(0, 8);
return(hhmmssFormat.parse(yyyMMdd+starthhmmss).before(now) &&
hhmmssFormat.parse(yyyMMdd+endhhmmss).after(now));
}
Пример тестового примера:
String doNotRunBetween="18:00:00,18:30:00";//read from props file
String[] hhmmss = downTime.split(",");
if(isCurrentTimeBetween(hhmmss[0], hhmmss[1])){
System.out.println("NOT OK TO RUN");
}else{
System.out.println("OK TO RUN");
}
Что я ищу, это лучший код
- в производительности
- в образах
- в правильности
То, что я не ищу
- сторонние библиотеки
- Обсуждение обработки исключений
- соглашения об именах переменных
- модификатор метода