2011-12-19 2 views
0

"now"long/date 값에서 "last notification time"long/data 값을 뺀 값을 새로운 알림이 작성되기 전의 분 간격을 나타내는 정수 값과 비교하려고합니다.날짜/분을 분으로 비교하기위한 기존 알고리즘이 있습니까?

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

...하지만 그것을 할 수있는 방법입니다 :

나는 단순히이 작업을 수행 할 수 없습니다 알고있다. "now"의 값이 42.2468이라면, 어제는 41.2468입니까? IOW, 1.00 == 1 일입니까? (이 경우 0.1 == 144 분, 0.01 == 14.4 분 등)?

답변

1

Date 또는 Calendar 개체에서 마지막 알림 시간 값을 추출하는 경우 값은 일반적으로 GMT 1970 년 1 월 1 일 이후의 밀리 초 수입니다. 이것은 또한 System.currentTimeMillis()에서 얻는 것과 같은 단위입니다. 다음과 같이 테스트 할 수 있습니다.

long now = System.currentTimeMillis(); 
bool bItIsTime = iMinutesBetweenNotifications * 60000 // convert to milliseconds 
    > now - lLastNotificationTime; 
if (bItIsTime) { 
    issueNotification(); 
    lLastNotificationTime = now; 
}