Дата Лучшая практика - PullRequest
       4

Дата Лучшая практика

0 голосов
/ 13 марта 2011

У меня следующая проблема. У меня есть кварцевая работа, которая выполняется каждые 5 минут и выполняет вызов веб-службы для извлечения большого объекта. Цель этого приложения состоит в том, что оно будет циклически проходить по списку в объекте и собирать счетчики из ряда категорий.

Одно конкретное требование состоит в том, чтобы каждой категории было назначено произвольное окно, скажем, с 9:00 до 12:00. Если мы находимся в этом окне, счет добавляется к скользящему счету, продолженному с предыдущих заданий, если нет, то он игнорируется.

Вопросы. Я загружаю настраиваемое время начала (в формате 9:00 по восточному поясному времени) и длительность int (в минутах, т.е. 180) из файла .properties.

Вопрос в том, как лучше всего справиться с этим. Прямо сейчас я просто конвертирую настраиваемое время начала в long, когда создается мой бизнес-класс. Я использую Calendar для вычисления long значения времени окончания. Так как они оба в 1970 году, когда я хочу выяснить, находится ли сейчас между этими двумя разами, это требует некоторой злобности с моей стороны. Я беру текущий формат new Date(), вычеркиваю год, снова использую Formatter для parse() даты 1970 года, затем я могу сделать простое сравнение long с моим временем начала и окончания.

Я знаю, что должен быть менее уродливый способ приблизиться к этому. Есть мысли?

1 Ответ

6 голосов
/ 13 марта 2011

Возможно, вы захотите взглянуть на время Joda (http://joda -time.sourceforge.net /), которое содержит более разумный API для работы со временем.

...