Существует ли существующий алгоритм для сравнения дат / длин и минут? - PullRequest
0 голосов
/ 19 декабря 2011

Я хочу сравнить "длинное / текущее" значение / дата минус "длинное / последнее время уведомления" / длинное значение / значение данных с целочисленным значением, представляющим интервал в минутах до создания нового уведомления.

Я знаю, что не могу просто сделать это:

bool bItIsTime = (iMinutesBetweenNotifications < (lLastNotificationTime - lRightNow));

... но что есть способ сделать это. Если значение «сейчас» равно 42,2468, будет ли вчера в это время 41,2468? IOW, 1.00 == 1 день? (в этом случае 0,1 == 144 минуты, 0,01 == 14,4 минуты и т. д.)?

1 Ответ

1 голос
/ 19 декабря 2011

Если вы извлекаете значение long времени последнего уведомления из объекта Date или Calendar, обычно это значение равно числу миллисекунд с 1 января 1970 года по Гринвичу.Это также те же единицы, которые вы получаете от System.currentTimeMillis().Вы можете сделать свой тест так:

long now = System.currentTimeMillis();
bool bItIsTime = iMinutesBetweenNotifications * 60000 // convert to milliseconds
    > now - lLastNotificationTime;
if (bItIsTime) {
    issueNotification();
    lLastNotificationTime = now;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...