У меня следующая проблема. У меня есть кварцевая работа, которая выполняется каждые 5 минут и выполняет вызов веб-службы для извлечения большого объекта. Цель этого приложения состоит в том, что оно будет циклически проходить по списку в объекте и собирать счетчики из ряда категорий.
Одно конкретное требование состоит в том, чтобы каждой категории было назначено произвольное окно, скажем, с 9:00 до 12:00. Если мы находимся в этом окне, счет добавляется к скользящему счету, продолженному с предыдущих заданий, если нет, то он игнорируется.
Вопросы. Я загружаю настраиваемое время начала (в формате 9:00 по восточному поясному времени) и длительность int
(в минутах, т.е. 180) из файла .properties
.
Вопрос в том, как лучше всего справиться с этим. Прямо сейчас я просто конвертирую настраиваемое время начала в long
, когда создается мой бизнес-класс. Я использую Calendar
для вычисления long
значения времени окончания. Так как они оба в 1970 году, когда я хочу выяснить, находится ли сейчас между этими двумя разами, это требует некоторой злобности с моей стороны. Я беру текущий формат new Date()
, вычеркиваю год, снова использую Formatter
для parse()
даты 1970 года, затем я могу сделать простое сравнение long
с моим временем начала и окончания.
Я знаю, что должен быть менее уродливый способ приблизиться к этому. Есть мысли?