是否有一个现有的算法比较日期/长分钟



我想比较"现在"长/日期值减去"上次通知时间"长/数据值与表示新通知发出前的分钟间隔的整数值。

我知道我不能简单地这样做:

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;
}

最新更新