Проверка 3-минутной разницы временной метки на 30-минутной границеJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проверка 3-минутной разницы временной метки на 30-минутной границе

Сообщение Anonymous »

У меня есть планировщик весенней загрузки, который просыпается каждые 15 минут. Это cron, поэтому он всегда будет просыпаться около правильной границы с некоторым дрожанием, но обычно это около 00, 15, 30, 45, 60 .
Мне нужно сделать следующее:

[*]Выполнить действие A только в течение 30 минут. если при пробуждении, дельта находится в пределах 3 минут с каждой стороны. Итак, около 11:00 выполните действие A, только если время около 10:57–11:03. Аналогично для границы 30 минут: сделайте это, если дельта составляет около 10:57–11:03 или 11:27–11:33

Я читаю время, как показано ниже, когда планировщик просыпается

Код: Выделить всё

ZonedDateTime currentDate = (ZonedDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.MINUTES));
ZonedDateTime prior = currentDate.minus(3,ChronoUnit.MINUTES);
ZonedDateTime next = currentDate.plus(3,ChronoUnit.MINUTES);
Я знаю, что могу складывать и вычитать, чтобы получить окно, как указано выше. Но где я теряюсь, так это в тривиальной части того, как мне сравнить время в пределах предыдущей и следующей границ?
Потому что, если планировщик проснулся в 11:35, я не хочу выполнять действие для 11:30 и пропускаем обработку.

Подробнее здесь: https://stackoverflow.com/questions/786 ... e-boundary
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»