我想将“现在”长/日期值减去“上次通知时间”长/数据值与表示新通知之前的分钟间隔的整数值进行比较。
我知道我不能简单地这样做:
bool bItIsTime = (iMinutesBetweenNotifications < (lLastNotificationTime - lRightNow));
...但是的方法。如果“now”的值是42.2468,那么此时的昨天是41.2468吗? IOW,1.00 == 1天? (在这种情况下0.1 == 144分钟,0.01 == 14.4分钟等)?
答案 0 :(得分:1)
如果要从Date或Calendar对象中提取上次通知时间的long
值,则该值通常是自格林威治标准时间1970年1月1日以来的毫秒数。这也是您从System.currentTimeMillis()
获得的单位。你可以像这样进行测试:
long now = System.currentTimeMillis();
bool bItIsTime = iMinutesBetweenNotifications * 60000 // convert to milliseconds
> now - lLastNotificationTime;
if (bItIsTime) {
issueNotification();
lLastNotificationTime = now;
}