我想比较"现在"长/日期值减去"上次通知时间"长/数据值与表示新通知发出前的分钟间隔的整数值。
我知道我不能简单地这样做:
bool bItIsTime = (iMinutesBetweenNotifications < (lLastNotificationTime - lRightNow));
…但是是的方法。如果"现在"的值是42.2468,那么41.2468是不是昨天的这个时间点?那么,1.00 == 1天?(在这种情况下0.1 == 144分钟,0.01 == 14.4分钟,等等)?
如果要从Date或Calendar对象中提取上次通知时间的long
值,则该值通常是自1970 GMT时间1月1日以来的毫秒数。这和你从System.currentTimeMillis()
得到的单位是一样的。您可以这样做测试:
long now = System.currentTimeMillis();
bool bItIsTime = iMinutesBetweenNotifications * 60000 // convert to milliseconds
> now - lLastNotificationTime;
if (bItIsTime) {
issueNotification();
lLastNotificationTime = now;
}